Skip to content

Instantly share code, notes, and snippets.

@droyo
Created November 1, 2020 01:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save droyo/a1da9e8318270a5d1a14155d92be64f3 to your computer and use it in GitHub Desktop.
Save droyo/a1da9e8318270a5d1a14155d92be64f3 to your computer and use it in GitHub Desktop.
output for go-xml issue #123
// Code generated by xsdgen. DO NOT EDIT.
package ws
import (
"bytes"
"encoding/xml"
"time"
)
// A Composite containing details of an AdditionalTitle.
type AdditionalTitle struct {
TitleText string `xml:"http://ddex.net/xml/ern/41 TitleText"`
SubTitle []DisplaySubTitle `xml:"http://ddex.net/xml/ern/41 SubTitle,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
TitleType AdditionalTitleType `xml:"TitleType,attr,omitempty"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of AlternativeTitle, FormalTitle, GroupingTitle, OriginalTitle, UserDefined
type AdditionalTitleType string
// May be one of ShortFormMusicalWorkVideo, ShortFormNonMusicalWorkVideo, UserDefined
type AdditionalVideoType string
// May be one of DesignatedDsrMessageRecipient, RightsAdministrator, RoyaltyAdministrator, Unknown, UserDefined
type AdministratingRecordCompanyRole string
// A Composite containing details of an AdministratingRecordCompany.
type AdministratingRecordCompanyWithReference struct {
RecordCompanyPartyReference RecordCompanyPartyReference `xml:"http://ddex.net/xml/ern/41 RecordCompanyPartyReference"`
Role AdministratingRecordCompanyRole `xml:"http://ddex.net/xml/ern/41 Role"`
}
// A Composite containing details of a business deal with another Party.
type Affiliation struct {
CompanyName string `xml:"http://ddex.net/xml/ern/41 CompanyName"`
PartyAffiliateReference PartyAffiliateReference `xml:"http://ddex.net/xml/ern/41 PartyAffiliateReference"`
Type AffiliationType `xml:"http://ddex.net/xml/avs/avs Type"`
TerritoryCode []CurrentTerritoryCode `xml:"http://ddex.net/xml/ern/41 TerritoryCode"`
ExcludedTerritoryCode []CurrentTerritoryCode `xml:"http://ddex.net/xml/ern/41 ExcludedTerritoryCode"`
ValidityPeriod ValidityPeriod `xml:"http://ddex.net/xml/ern/41 ValidityPeriod,omitempty"`
RightsType []SimpleRightsType `xml:"http://ddex.net/xml/ern/41 RightsType,omitempty"`
PercentageOfRightsAssignment float64 `xml:"http://ddex.net/xml/ern/41 PercentageOfRightsAssignment,omitempty"`
}
// May be one of MusicLicensingCompany, MusicPublisher, MusicRightsSociety, RecordCompany, UserDefined
type AffiliationType string
// A code representing a Territory. This includes ISO 3166-1 two-letter codes and selected ISO 3166-2 codes, CISAC TIS codes, plus a code for Worldwide. It also includes deprecated ISO codes defined in ISO 3166-3.
type AllTerritoryCode string
// Must match the pattern P[\d\-_a-zA-Z]+
type ArtistPartyReference string
// A Composite containing an AspectRatio and an AspectRatioType.
type AspectRatio struct {
Value float64 `xml:",chardata"`
AspectRatioType AspectRatioType `xml:"AspectRatioType,attr,omitempty"`
}
// May be one of PAR, DAR
type AspectRatioType string
// Must match the pattern X[\d\-_a-zA-Z]+
type AudioChapterReference string
// May be one of AAC, ADPCM, ALaw, AMR-NB, AMR-WB, FLAC, MP2, MP3, MQA, MuLaw, PCM, PDM, QCELP, RealAudio, Shockwave, Unknown, UserDefined, Vorbis, WMA
type AudioCodecType string
// A Composite containing details of a rating for an audio-visual Creation.
type AvRating struct {
Rating string `xml:"http://ddex.net/xml/ern/41 Rating"`
Agency RatingAgency `xml:"http://ddex.net/xml/ern/41 Agency"`
Reason RatingReason `xml:"http://ddex.net/xml/avs/avs Reason,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of Binary64, HexBinary
type BinaryDataType string
// A Composite containing a BitRate and a UnitOfMeasure.
type BitRate struct {
Value float64 `xml:",chardata"`
UnitOfMeasure UnitOfBitRate `xml:"UnitOfMeasure,attr,omitempty"`
}
// Must match the pattern [0-9]+,[0-9]+
type BottomRightCorner string
// May be one of BookPublisher, CopyrightClaimant, CopyrightHolder, MusicPublisher, NewspaperPublisher, OriginalPublisher, PeriodicalPublisher, SubPublisher, SubstitutedPublisher, Unknown, UserDefined
type BusinessMusicalWorkContributorRole string
// A Composite containing details of a CLine.
type CLine struct {
Year time.Time `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
CLineCompany string `xml:"http://ddex.net/xml/ern/41 CLineCompany,omitempty"`
CLineText string `xml:"http://ddex.net/xml/ern/41 CLineText"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
func (t *CLine) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T CLine
var layout struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
layout.T = (*T)(t)
layout.Year = (*xsdGYear)(&layout.T.Year)
return e.EncodeElement(layout, start)
}
func (t *CLine) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T CLine
var overlay struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
overlay.T = (*T)(t)
overlay.Year = (*xsdGYear)(&overlay.T.Year)
return d.DecodeElement(&overlay, &start)
}
// A Composite containing details of a CLine.
type CLineWithDefault struct {
Year time.Time `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
CLineCompany string `xml:"http://ddex.net/xml/ern/41 CLineCompany,omitempty"`
CLineText string `xml:"http://ddex.net/xml/ern/41 CLineText"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
func (t *CLineWithDefault) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T CLineWithDefault
var layout struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
layout.T = (*T)(t)
layout.Year = (*xsdGYear)(&layout.T.Year)
return e.EncodeElement(layout, start)
}
func (t *CLineWithDefault) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T CLineWithDefault
var overlay struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
overlay.T = (*T)(t)
overlay.Year = (*xsdGYear)(&overlay.T.Year)
return d.DecodeElement(&overlay, &start)
}
// May be one of 12InchDiscoSingleRemix, 33rpm10InchLP, 33rpm10InchSingle, 33rpm12InchLP, 33rpm12InchLp20Tracks, 33rpm12InchMaxiSingle, 33rpm12InchSingle, 33rpm7InchLP, 33rpm7InchSingle, 45rpm10InchLP, 45rpm10InchMaxiSingle, 45rpm10InchSingle, 45rpm12InchLP, 45rpm12InchMaxiSingle, 45rpm12InchSingle, 45rpm7InchEP, 45rpm7InchSingle, 7InchMaxiSingleRemix, BluRay, CD, CdCompilation, CdEp, CdEpEnhanced, CdExtraCompilation, CdExtraEP, CdExtraLP, CdExtraMaxiRemix, CdExtraMaxiSingle, CdExtraSingle, CdExtraSingle2Tracks, CdLp, CdLp5Inch, CdLpEnhanced, CdLpPlusCdVideo, CdLpPlusDvdAudio, CdLpPlusDvdVideo, CdLpPlusWeb, CdMaxiSingle, CdMaxiSingle3Inch, CdMaxiSingleEnhanced, CdMaxiSingleRemix, CdPlusCdBonus, CdPlusDvdBonus, CdRom, CdSingle, CdSingle3Inch, CdSingle5Inch, CdVideo5LpNTSC, CdVideo5LpPAL, CdVideoAudioCompatible, CombiPack, DCC, DccCompilation, DualDisc, DVD, DvdAudio, DvdAudio5MaxiSingle, DvdAudioLP, DvdAudioSingle, DvdRom, DvdSingle, DvdVideo, DvdVideo5MaxiSingleNTSC, DvdVideo5MaxiSinglePAL, DvdVideo5SingleNTSC, DvdVideo5SinglePAL, DvdVideoLpNTSC, DvdVideoLpPAL, DvdVideoLpPlusCdLpOrCdSingle, FanPack, FileSystem, HdDvdVideoLp, LaserDiscLp12InchNTSC, LpCompIdenticalToCdComp, LpCompilation, LpIdenticalToCD, MC, McCompIdenticalToCdComp, McCompilation, McDoubleLP, McEP, McIdenticalToCD, McLP, McMaxiSingle, McRemix, McSingle, McSingleIdenticalToCDS, MemoryDeviceAudioLP, MemoryDeviceMixLP, MemoryDeviceVideoLP, Merchandise, MiniDisc, MiniDiscCompilation, MiniDiscEP, MiniDiscMaxiRemix, MiniDiscSingleMaxiSingle, OnlineSystem, PrePaidCard, SACD, SacdCompilation, SacdLpStereo, SacdLpStereoCdAudio, SacdLpStereoSurround, SacdLpStereoSurroundCdAudio, SacdLpSurroundCdAudio, SacdPlusDvdVideo, UserDefined, VhsNTSC, VhsPAL, VhsPlusCdLp, VhsSECAM
type CarrierType string
// A Composite containing details of a CatalogNumber.
type CatalogNumber struct {
Value string `xml:",chardata"`
Namespace string `xml:"Namespace,attr"`
}
// A Composite containing details of a Chapter. Chapters referenced from Video Resources are of ChapterType VideoChapter. Chapters referenced from a Release composite are of ChapterType Series, Season or Episode.
type Chapter struct {
ChapterReference ChapterReference `xml:"http://ddex.net/xml/ern/41 ChapterReference"`
ChapterId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ChapterId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
SequenceNumber int `xml:"http://ddex.net/xml/ern/41 SequenceNumber,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
Character []Character `xml:"http://ddex.net/xml/ern/41 Character,omitempty"`
RepresentativeImageReference RepresentativeImageReference `xml:"http://ddex.net/xml/ern/41 RepresentativeImageReference,omitempty"`
StartTime string `xml:"http://ddex.net/xml/ern/41 StartTime,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
EndTime string `xml:"http://ddex.net/xml/ern/41 EndTime,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// A Composite containing details of one or more Chapters.
type ChapterList struct {
Chapter []Chapter `xml:"http://ddex.net/xml/ern/41 Chapter"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// Must match the pattern X[\d\-_a-zA-Z]+
type ChapterReference string
// A Composite containing details of a Character. A Character may be described through Name, Identifier and Roles.
type Character struct {
CharacterPartyReference CharacterPartyReference `xml:"http://ddex.net/xml/ern/41 CharacterPartyReference"`
Performer Contributor `xml:"http://ddex.net/xml/ern/41 Performer,omitempty"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// Must match the pattern P[\d\-_a-zA-Z]+
type CharacterPartyReference string
// May be one of Lossless, Lossy
type CodingType string
// May be one of AdvertisementSupportedModel, AsPerContract, DeviceFeeModel, FreeOfChargeModel, PayAsYouGoModel, PerformanceRoyaltiesModel, RightsClaimModel, SubscriptionModel, Unknown, UserDefined
type CommercialModelType string
// May be one of Medley, Neither, Potpourri
type CompositeMusicalWorkType string
// A Composite containing details of a Condition.
type ConditionForRightsClaimPolicy struct {
Value float64 `xml:"http://ddex.net/xml/ern/41 Value"`
Unit UnitOfConditionValue `xml:"http://ddex.net/xml/avs/avs Unit"`
ReferenceCreation ReferenceCreation `xml:"http://ddex.net/xml/avs/avs ReferenceCreation,omitempty"`
RelationalRelator RelationalRelator `xml:"http://ddex.net/xml/avs/avs RelationalRelator"`
}
// May be one of AIFF, AVI, MP4, Ogg, QuickTime, RealMedia, RMF, UserDefined, WAV
type ContainerFormat string
// A Composite containing details of the Name, Identifier and Role(s) of a Contributor to a Resource.
type Contributor struct {
ContributorPartyReference ContributorPartyReference `xml:"http://ddex.net/xml/ern/41 ContributorPartyReference"`
Role []ContributorRole `xml:"http://ddex.net/xml/ern/41 Role,omitempty"`
InstrumentType []InstrumentType `xml:"http://ddex.net/xml/ern/41 InstrumentType,omitempty"`
HasMadeFeaturedContribution bool `xml:"http://ddex.net/xml/ern/41 HasMadeFeaturedContribution,omitempty"`
HasMadeContractedContribution bool `xml:"http://ddex.net/xml/ern/41 HasMadeContractedContribution,omitempty"`
DisplayCredits []DisplayCredits `xml:"http://ddex.net/xml/ern/41 DisplayCredits,omitempty"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// Must match the pattern P[\d\-_a-zA-Z]+
type ContributorPartyReference string
// A Role played by a Contributor.
type ContributorRole string
// A Composite containing details of the core part of a Video.
type CoreArea struct {
TopLeftCorner TopLeftCorner `xml:"http://ddex.net/xml/ern/41 TopLeftCorner"`
BottomRightCorner BottomRightCorner `xml:"http://ddex.net/xml/ern/41 BottomRightCorner"`
}
// A Composite containing details of a CourtesyLine.
type CourtesyLineWithDefault struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of Adapter, Architect, Arranger, Author, AuthorInQuotations, AuthorOfAfterword, Compiler, Composer, ComposerLyricist, Conceptor, Creator, DialogueAuthor, Dissertant, Engraver, Etcher, Journalist, LandscapeArchitect, Librettist, Lithographer, Lyricist, MetalEngraver, NonLyricAuthor, PlateMaker, Playwright, Reporter, Reviewer, Rubricator, ScreenplayAuthor, Sculptor, SubArranger, SubLyricist, Translator, Woodcutter, WoodEngraver, WriterOfAccompanyingMaterial
type CreativeMusicalWorkContributorRole string
// May be one of LibraryMusic, PreexistingMusic, SpeciallyCommissionedMusic, Unknown, UserDefined
type CueOrigin string
// Must match the pattern Q[\d\-_a-zA-Z]+
type CueSheetReference string
// May be one of AverageCueSheet, CompositeCueSheet, StandardCueSheet, SummarisedCueSheet, SurrogateCueSheet
type CueSheetType string
// A Composite containing details of a ThemeType for a Creation referenced in a Cue.
type CueThemeType struct {
ThemeType ThemeType `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// May be one of AudioLogo, Background, Bumper, EssentialPart, FilmTheme, IndistinguishableBackground, OnScreenMusic, RolledUpCue, Theme, UserDefined
type CueUseType string
// A Composite containing details of a VisualPerceptionType for a Creation referenced in a Cue.
type CueVisualPerceptionType struct {
VisualPerceptionType VisualPerceptionType `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of a VocalType for a Creation referenced in a Cue.
type CueVocalType struct {
VocalType VocalType `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A code representing a Currency.
type CurrencyCode string
// A code representing a Territory. This includes ISO 3166-1 two-letter codes and selected ISO 3166-2 codes, CISAC TIS codes, plus a code for Worldwide.
type CurrentTerritoryCode string
// Must match the pattern PADPIDA[a-zA-Z0-9]+
type DPID string
// A Composite containing details of a DSP acting as a Licensee in a commercial relationship.
type DSP struct {
PartyId []DetailedPartyId `xml:"http://ddex.net/xml/ern/41 PartyId,omitempty"`
PartyName []PartyName `xml:"http://ddex.net/xml/ern/41 PartyName"`
TradingName Name `xml:"http://ddex.net/xml/ern/41 TradingName,omitempty"`
URL []string `xml:"http://ddex.net/xml/ern/41 URL,omitempty"`
}
// May be one of AFormatVideo, ADAT, AnalogAudio, BFormatVideo, Betacam, BetacamSP, BetacamSX, Betamax, CFormatVideo, CompactDiskDigitalAudio, D1DigitalVideo, D2DigitalVideo, D3DigitalVideo, D4DigitalVideo, D5DigitalVideo, D6DigitalVideo, DTRS, DVCAM, DVCPRO, DvcproProgressive, DVCPRO50, DVCPROHD, DigitalAudioStationaryHead, DigitalAudioTape, DigitalComponentVideocassette, DigitalDataStorageTape, DirectStreamDigital, FileAllocationTable, FileAllocationTable_32Bit, HierarchicalFileSystem, HierarchicalFileSystemPlus, ISO9660, JvcPcmDigital, LinearTapeFileSystem, Masterlink, NewTechnologyFileSystem, NotApplicable, PcmDigital, ProDigi, Proprietary, RADAR, RADARII, SonyPCM1630, StreamingData, TransverseTrackQuadraplexVideo
type DataCarrierFormat string
// May be one of 1InchAnalogAudioTape_10.5InchReel, 1InchAnalogAudioTape_7InchReel, 1InchAnalogAudioTape_UnspecifiedReelSize, 1InchAnalogVideoTape_LargeReel, 1InchAnalogVideoTape_MediumReel, 1InchAnalogVideoTape_SmallReel, 1InchAnalogVideoTape_UnspecifiedReelSize, 1InchDigitalAudioTape_10.5InchReel, 1InchDigitalAudioTape_7InchReel, 1InchDigitalAudioTape_UnspecifiedReelSize, 1/2InchAnalogAudioTape_10.5InchReel, 1/2InchAnalogAudioTape_7InchReel, 1/2InchAnalogAudioTape_UnspecifiedReelSize, 1/2InchDigitalAudioTape_10.5InchReel, 1/2InchDigitalAudioTape_7InchReel, 1/2InchDigitalAudioTape_UnspecifiedReelSize, 1/2InchDigitalVideoTape_LargeCassette, 1/2InchDigitalVideoTape_MediumCassette, 1/2InchDigitalVideoTape_SmallCassette, 1/4InchAnalogAudioTape_10.5InchReel, 1/4InchAnalogAudioTape_7InchReel, 1/4InchAnalogAudioTape_UnspecifiedReelSize, 1/4InchDigitalAudioTape_10.5InchReel, 1/4InchDigitalAudioTape_7InchReel, 1/4InchDigitalAudioTape_UnspecifiedReelSize, 1/4InchDigitalVideoTape_ExtraLargeCassette, 1/4InchDigitalVideoTape_LargeCassette, 1/4InchDigitalVideoTape_MediumCassette, 1/4InchDigitalVideoTape_SmallCassette, 16mmSepmagAnalogAudioFilmReel, 16mmPictureAnalogVideoFilmReel, 2InchAnalogAudioTape_10.5InchReel, 2InchAnalogAudioTape_12InchReel, 2InchAnalogAudioTape_14InchReel, 2InchAnalogAudioTape_UnspecifiedReelSize, 2InchAnalogVideoTape_LargeReel, 2InchAnalogVideoTape_MediumReel, 2InchAnalogVideoTape_SmallReel, 2InchAnalogVideoTape_UnspecifiedReelSize, 3/4InchDigitalVideoTape_LargeCassette, 3/4InchDigitalVideoTape_MediumCassette, 3/4InchDigitalVideoTape_SmallCassette, 35mmSepmagAnalogAudioFilmReel, 35mmPictureAnalogVideoFilmReel, 8mmPictureAnalogVideoFilmReel, AIT-1DigitalDataTape, AIT-2DigitalDataTape, AIT-3DigitalDataTape, AIT-3EXDigitalDataTape, AIT-4DigitalDataTape, AIT-5DigitalDataTape, BernoulliDisk_20MB, BetacamSpAnalogVideoTape_LargeCassette, BetacamSpAnalogVideoTape_SmallCassette, BetacamSxDigitalVideoTape_LargeCassette, BetacamSxDigitalVideoTape_SmallCassette, BetacamAnalogVideoTape_LargeCassette, BetacamAnalogVideoTape_SmallCassette, Binder_1InchRing, Binder_1.5InchRing, Binder_0.5InchRing, Binder_2InchRing, BluRayRecordableOpticalDiskSingleSided_DoubleLayer_12cm, BluRayRecordableOpticalDiskSingleSided_SingleLayer_12cm, CdRRecordableOpticalDiskSingleSided_SingleLayer_12cm, CdRomDigitalDataDisk, CdIInteractiveMultimediaDigitalDataDisk, CompactCassetteAnalogAudioTape, DAT160DigitalStorageTape, DAT320DigitalStorageTape, DAT72DigitalStorageTape, DDS-1DigitalDataTape, DDS-2DigitalDataTape, DDS-3DigitalDataTape, DDS-4DigitalDataTape, DLT-IIIDigitalDataTape, DLT-IVDigitalDataTape, DvDigitalVideoTape_MiniCassette, DvDigitalVideoTape_NormalCassette, DvcamDigitalVideoTape, Dvcpro50DigitalVideoTape_LargeCassette, Dvcpro50DigitalVideoTape_MediumCassette, Dvcpro50DigitalVideoTape_SmallCassette, DvcproHdDigitalVideoTape_ExtraLargeCassette, DvcproHdDigitalVideoTape_LargeCassette, Dvd+RRecordableOpticalDiskSingleSided_DoubleLayer_12cm, Dvd+RRecordableOpticalDiskSingleSided_SingleLayer_12cm, Dvd+RwRewritableOpticalDiskSingleSided_SingleLayer_12cm, DvdRRecordableOpticalDiskSingleSided_DoubleLayer_12cm, DvdRRecordableOpticalDiskSingleSided_SingleLayer_12cm, DvdRamRecordableOpticalDiskDoubleSided, DvdRamRecordableOpticalDiskSingleSided, DigitalBetacamDigitalVideoTape_LargeCassette, DigitalBetacamDigitalVideoTape_SmallCassette, DigitalAudioTape, DigitalCompactCassette, DigitalSDigitalVideoTape_CompactCassette, DigitalSDigitalVideoTape_StandardCassette, DoubleSidedDoubleDensityFloppyDigitalDataDisk_3.5Inch, DoubleSidedDoubleDensityFloppyDigitalDataDisk_5.25Inch, Envelope, Exabyte8500SeriesDigitalDataTape, Exabyte8700SeriesDigitalDataTape, Exabyte8900SeriesDigitalDataTape, ExabyteMammothDigitalDataTape, FileSystem, GlassBasedAcetatePhonographAnalogAudioDisk_10Inch, GlassBasedAcetatePhonographAnalogAudioDisk_12Inch, GlassBasedAcetatePhonographAnalogAudioDisk_14Inch, GlassBasedAcetatePhonographAnalogAudioDisk_16Inch, GlassBasedAcetatePhonographAnalogAudioDisk_7Inch, GlassBasedAcetatePhonographAnalogAudioDisk_UnspecifiedSize, HdDvdRecordableOpticalDiskDoubleSided_DoubleLayer_12cm, HdDvdRecordableOpticalDiskDoubleSided_DoubleLayer_8cm, HdDvdRecordableOpticalDiskDoubleSided_SingleLayer_12cm, HdDvdRecordableOpticalDiskDoubleSided_SingleLayer_8cm, HdDvdRecordableOpticalDiskSingleSided_DoubleLayer_12cm, HdDvdRecordableOpticalDiskSingleSided_DoubleLayer_8cm, HdDvdRecordableOpticalDiskSingleSided_SingleLayer_12cm, HdDvdRecordableOpticalDiskSingleSided_SingleLayer_8cm, HdcamSrDigitalVideoTape_LargeCassette, HdcamSrDigitalVideoTape_SmallCassette, HdcamDigitalVideoTape, HdvHdtvDigitalVideoTape, HardDiskDrive_ExternalUsb2.0Interface, HardDiskDrive_ExternalUsb3.0Interface, HardDiskDrive_ExternalUsbInterface, HardDiskDrive_ExternalFirewireInterface, HardDiskDrive_ExternalFirewire/UsbInterface, HardDiskDrive_InternalRibbonCableInterface, HardDiskDrive_UnspecifiedInterface, Hi-8AnalogVideoTape, IdeAtaHardDiskDrive_ExternalUsb2.0Interface, IdeAtaHardDiskDrive_ExternalUsb3.0Interface, IdeAtaHardDiskDrive_ExternalUsbInterface, IdeAtaHardDiskDrive_ExternalFirewireInterface, IdeAtaHardDiskDrive_ExternalFirewire/UsbInterface, IdeAtaHardDiskDrive_ExternalFirewire/Usb/SataInterface, IdeAtaHardDiskDrive_InternalRibbonCableInterface, IdeAtaHardDiskDrive_UnspecifiedExternalInterface, JazDigitalDataDisk, LTO-1UltriumDigitalDataTape, LTO-2UltriumDigitalDataTape, LTO-3UltriumDigitalDataTape, LTO-4UltriumDigitalDataTape, LTO-5UltriumDigitalDataTape, LTO-6UltriumDigitalDataTape, LTO-7UltriumDigitalDataTape, LacquerPhonographAnalogAudioDisk_10Inch, LacquerPhonographAnalogAudioDisk_12Inch, LacquerPhonographAnalogAudioDisk_14Inch, LacquerPhonographAnalogAudioDisk_16Inch, LacquerPhonographAnalogAudioDisk_7Inch, LacquerPhonographAnalogAudioDisk_UnspecifiedSize, LaserdiscOpticalDiskSingleSided, MiniDisk, MoDisk_1.3GB, MoDisk_1200MB, MoDisk_2.6GB, MoDisk_540MB, MoDisk_650MB, MetalBasedAcetatePhonographAnalogAudioDisk_10Inch, MetalBasedAcetatePhonographAnalogAudioDisk_12Inch, MetalBasedAcetatePhonographAnalogAudioDisk_14Inch, MetalBasedAcetatePhonographAnalogAudioDisk_16Inch, MetalBasedAcetatePhonographAnalogAudioDisk_7Inch, MetalBasedAcetatePhonographAnalogAudioDisk_UnspecifiedSize, PreMasterCD, S-AtaHardDiskDrive_ExternalUsb2.0Interface, S-AtaHardDiskDrive_ExternalUsb3.0Interface, S-AtaHardDiskDrive_ExternalFirewireInterface, S-AtaHardDiskDrive_InternalRibbonCableInterface, S-AtaHardDiskDrive_UnspecifiedExternalInterface, S-VhsAnalogVideoTape_CompactCassette, S-VhsAnalogVideoTape_StandardCassette, ScsiIHardDiskDrive_ExternalDSubInterface, ScsiIHardDiskDrive_InternalRibbonCableInterface, ScsiIHardDiskDrive_UnspecifiedExternalInterface, ScsiIIHardDiskDrive_External50PinInterface, ScsiIIHardDiskDrive_External68PinInterface, ScsiIIHardDiskDrive_ExternalCentronixInterface, ScsiIIHardDiskDrive_ExternalDSubInterface, ScsiIIHardDiskDrive_InternalRibbonCableInterface, ScsiIIILvdHardDiskDrive_External50PinInterface, ScsiIIILvdHardDiskDrive_External68PinInterface, ScsiIIILvdHardDiskDrive_External80PinInterface, ScsiIIILvdHardDiskDrive_InternalRibbonCableInterface, ShellacPhonographAnalogAudioDisk_10Inch, ShellacPhonographAnalogAudioDisk_12Inch, ShellacPhonographAnalogAudioDisk_14Inch, ShellacPhonographAnalogAudioDisk_16Inch, ShellacPhonographAnalogAudioDisk_7Inch, ShellacPhonographAnalogAudioDisk_UnspecifiedSize, SingleSidedDoubleDensityFloppyDigitalDataDisk_3.5Inch, SingleSidedSingleDensityFloppyDigitalDataDisk_3.5Inch, SingleSidedSingleDensityFloppyDigitalDataDisk_5.25Inch, SingleSidedSingleDensityFloppyDigitalDataDisk_8Inch, SolidStateMemoryStorageCards, StorageBox_1.2CubicFeet, StorageBox_2.0CubicFeet, StorageBox_UnspecifiedDimensions, StorageContainer, StorageContainer_1.2CubicFeet, StorageContainer_2.0CubicFeet, Super16mmPictureAnalogVideoFilmReel, Super8mmPictureAnalogVideoFilmReel, UMaticSpAnalogVideoTape_SmallCassette, UMaticAnalogVideoTape_LargeCassette, UMaticAnalogVideoTape_SmallCassette, VhsAnalogVideoTape_CompactCassette, VhsAnalogVideoTape_StandardCassette, VinylPhonographAnalogAudioDisk_10Inch, VinylPhonographAnalogAudioDisk_12Inch, VinylPhonographAnalogAudioDisk_14Inch, VinylPhonographAnalogAudioDisk_16Inch, VinylPhonographAnalogAudioDisk_7Inch, VinylPhonographAnalogAudioDisk_UnspecifiedSize, VXA-1DigitalDataTape, VXA-2DigitalDataTape, VXA-3DigitalDataTape, WaxCylinderPhonogramAnalogAudioDisk, XdcamRewritableOpticalDisk, ZipDigitalDataDisk
type DataCarrierType string
// Must match the pattern [0-9]{4}(-[0-9]{2}){0,1}(-[0-9]{2}){0,1}
type DdexIsoDate string
// Must match the pattern P[\d\-_a-zA-Z]+
type DdexLocalPartyAnchorReference string
// Must match the pattern A[\d\-_a-zA-Z]+
type DdexLocalResourceAnchorReference string
// May be one of XK, Worldwide
type DdexTerritoryCode string
// A Composite containing details (in full or in summary) of a Deal made between a DSP (as Licensee) and a Licensor of Works or Releases. When any new DealTerms are added or removed from an existing Deal (different UseTypes, Prices, Territories, DistributionChannels) then a new Deal is created, and (if appropriate) the ValidityPeriod of the existing Deal should be terminated. The only changes which should be made to the DealTerms of an existing Deal are corrections required because of an earlier error or omission, or the addition of an EndDate to the Deal's ValidityPeriod.
type Deal struct {
DealReference []string `xml:"http://ddex.net/xml/ern/41 DealReference,omitempty"`
IsCommunicatedOutOfBand bool `xml:"http://ddex.net/xml/ern/41 IsCommunicatedOutOfBand,omitempty"`
DealTerms DealTerms `xml:"http://ddex.net/xml/ern/41 DealTerms,omitempty"`
DealTechnicalResourceDetailsReferenceList DealTechnicalResourceDetailsReferenceList `xml:"http://ddex.net/xml/ern/41 DealTechnicalResourceDetailsReferenceList,omitempty"`
DistributionChannelPage []DistributionChannelPage `xml:"http://ddex.net/xml/ern/41 DistributionChannelPage,omitempty"`
}
// A Composite containing details of one or more Deals.
type DealList struct {
ReleaseDeal []ReleaseDeal `xml:"http://ddex.net/xml/ern/41 ReleaseDeal"`
}
// Must match the pattern R[\d\-_a-zA-Z]+
type DealReleaseReference string
// Must match the pattern A[\d\-_a-zA-Z]+
type DealResourceReference string
// A Composite containing details of one or more Resources relating to a Deal.
type DealResourceReferenceList struct {
DealResourceReference []DealResourceReference `xml:"http://ddex.net/xml/ern/41 DealResourceReference"`
}
// Must match the pattern T[\d\-_a-zA-Z]+
type DealTechnicalResourceDetailsReference string
// A Composite containing a list of DealTechnicalResourceDetailsReferences.
type DealTechnicalResourceDetailsReferenceList struct {
DealTechnicalResourceDetailsReference []DealTechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 DealTechnicalResourceDetailsReference"`
}
// A Composite containing details of the terms of a Deal.
type DealTerms struct {
TerritoryCode []CurrentTerritoryCode `xml:"http://ddex.net/xml/ern/41 TerritoryCode"`
ExcludedTerritoryCode []CurrentTerritoryCode `xml:"http://ddex.net/xml/ern/41 ExcludedTerritoryCode"`
ValidityPeriod []PeriodWithoutFlags `xml:"http://ddex.net/xml/ern/41 ValidityPeriod"`
CommercialModelType []CommercialModelType `xml:"http://ddex.net/xml/ern/41 CommercialModelType,omitempty"`
UseType []DiscoverableUseType `xml:"http://ddex.net/xml/ern/41 UseType,omitempty"`
CarrierType []CarrierType `xml:"http://ddex.net/xml/ern/41 CarrierType,omitempty"`
TechnicalInstantiation DealTermsTechnicalInstantiation `xml:"http://ddex.net/xml/ern/41 TechnicalInstantiation,omitempty"`
NumberOfUsages int `xml:"http://ddex.net/xml/ern/41 NumberOfUsages,omitempty"`
DistributionChannel []DSP `xml:"http://ddex.net/xml/ern/41 DistributionChannel"`
ExcludedDistributionChannel []DSP `xml:"http://ddex.net/xml/ern/41 ExcludedDistributionChannel"`
RightsClaimPolicy []RightsClaimPolicy `xml:"http://ddex.net/xml/ern/41 RightsClaimPolicy,omitempty"`
PriceInformation []PriceInformationWithType `xml:"http://ddex.net/xml/ern/41 PriceInformation,omitempty"`
IsPromotional bool `xml:"http://ddex.net/xml/ern/41 IsPromotional"`
PromotionalCode PromotionalCode `xml:"http://ddex.net/xml/ern/41 PromotionalCode"`
IsPreOrderDeal bool `xml:"http://ddex.net/xml/ern/41 IsPreOrderDeal,omitempty"`
ReleaseDisplayStartDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 ReleaseDisplayStartDate"`
TrackListingPreviewStartDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 TrackListingPreviewStartDate"`
CoverArtPreviewStartDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 CoverArtPreviewStartDate"`
ClipPreviewStartDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 ClipPreviewStartDate"`
ReleaseDisplayStartDateTime time.Time `xml:"http://ddex.net/xml/ern/41 ReleaseDisplayStartDateTime"`
TrackListingPreviewStartDateTime time.Time `xml:"http://ddex.net/xml/ern/41 TrackListingPreviewStartDateTime"`
CoverArtPreviewStartDateTime time.Time `xml:"http://ddex.net/xml/ern/41 CoverArtPreviewStartDateTime"`
ClipPreviewStartDateTime time.Time `xml:"http://ddex.net/xml/ern/41 ClipPreviewStartDateTime"`
InstantGratificationResourceList DealResourceReferenceList `xml:"http://ddex.net/xml/ern/41 InstantGratificationResourceList,omitempty"`
PhysicalReturns PhysicalReturns `xml:"http://ddex.net/xml/ern/41 PhysicalReturns,omitempty"`
NumberOfProductsPerCarton int `xml:"http://ddex.net/xml/ern/41 NumberOfProductsPerCarton,omitempty"`
}
func (t *DealTerms) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T DealTerms
var layout struct {
*T
ReleaseDisplayStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 ReleaseDisplayStartDateTime"`
TrackListingPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 TrackListingPreviewStartDateTime"`
CoverArtPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 CoverArtPreviewStartDateTime"`
ClipPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 ClipPreviewStartDateTime"`
}
layout.T = (*T)(t)
layout.ReleaseDisplayStartDateTime = (*xsdDateTime)(&layout.T.ReleaseDisplayStartDateTime)
layout.TrackListingPreviewStartDateTime = (*xsdDateTime)(&layout.T.TrackListingPreviewStartDateTime)
layout.CoverArtPreviewStartDateTime = (*xsdDateTime)(&layout.T.CoverArtPreviewStartDateTime)
layout.ClipPreviewStartDateTime = (*xsdDateTime)(&layout.T.ClipPreviewStartDateTime)
return e.EncodeElement(layout, start)
}
func (t *DealTerms) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T DealTerms
var overlay struct {
*T
ReleaseDisplayStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 ReleaseDisplayStartDateTime"`
TrackListingPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 TrackListingPreviewStartDateTime"`
CoverArtPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 CoverArtPreviewStartDateTime"`
ClipPreviewStartDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 ClipPreviewStartDateTime"`
}
overlay.T = (*T)(t)
overlay.ReleaseDisplayStartDateTime = (*xsdDateTime)(&overlay.T.ReleaseDisplayStartDateTime)
overlay.TrackListingPreviewStartDateTime = (*xsdDateTime)(&overlay.T.TrackListingPreviewStartDateTime)
overlay.CoverArtPreviewStartDateTime = (*xsdDateTime)(&overlay.T.CoverArtPreviewStartDateTime)
overlay.ClipPreviewStartDateTime = (*xsdDateTime)(&overlay.T.ClipPreviewStartDateTime)
return d.DecodeElement(&overlay, &start)
}
// A Composite containing technical details of a Release.
type DealTermsTechnicalInstantiation struct {
VideoDefinitionType VideoDefinitionType `xml:"http://ddex.net/xml/avs/avs VideoDefinitionType,omitempty"`
CodingType CodingType `xml:"http://ddex.net/xml/avs/avs CodingType,omitempty"`
BitRate BitRate `xml:"http://ddex.net/xml/ern/41 BitRate,omitempty"`
}
// A Composite containing details of a Deity.
type Deity struct {
Value string `xml:",chardata"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of the kinds of usage for which Rights have been delegated.
type DelegatedUsageRights struct {
UseType []UseType `xml:"http://ddex.net/xml/ern/41 UseType"`
PeriodOfRightsDelegation Period `xml:"http://ddex.net/xml/ern/41 PeriodOfRightsDelegation,omitempty"`
TerritoryOfRightsDelegation []CurrentTerritoryCode `xml:"http://ddex.net/xml/ern/41 TerritoryOfRightsDelegation,omitempty"`
}
// May be one of CYP, EEK, LTL, LVL, MTL, MRO, ROL, SIT, SKK, STD
type DeprecatedCurrencyCode string
// May be one of AIDJ, ANHH, BQAQ, BUMM, BYAA, CSHH, CSXX, CTKI, DDDE, DYBJ, FQHH, FXFR, GEHH, HVBF, JTUM, MIUM, NHVU, NQAQ, NTHH, PCHH, PUUM, PZPA, RHZW, SKIN, SUHH, TPTL, VDVN, WKUM, YDYE, YUCS, ZRCD
type DeprecatedIsoTerritoryCode string
// A Composite containing details of a Description.
type DescriptionWithTerritory struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of a Cue.
type DetailedCue struct {
CueUseType CueUseType `xml:"http://ddex.net/xml/ern/41 CueUseType,omitempty"`
CueThemeType CueThemeType `xml:"http://ddex.net/xml/ern/41 CueThemeType,omitempty"`
CueVocalType CueVocalType `xml:"http://ddex.net/xml/ern/41 CueVocalType,omitempty"`
CueVisualPerceptionType CueVisualPerceptionType `xml:"http://ddex.net/xml/ern/41 CueVisualPerceptionType,omitempty"`
CueOrigin CueOrigin `xml:"http://ddex.net/xml/ern/41 CueOrigin,omitempty"`
ResourceId ResourceId `xml:"http://ddex.net/xml/ern/41 ResourceId"`
WorkId MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
IsDance bool `xml:"http://ddex.net/xml/ern/41 IsDance,omitempty"`
HasMusicalContent bool `xml:"http://ddex.net/xml/ern/41 HasMusicalContent,omitempty"`
PLine []PLine `xml:"http://ddex.net/xml/ern/41 PLine,omitempty"`
CLine []CLine `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
StartTime string `xml:"http://ddex.net/xml/ern/41 StartTime,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
EndTime string `xml:"http://ddex.net/xml/ern/41 EndTime,omitempty"`
}
// A Composite containing details of a CueSheet.
type DetailedCueSheet struct {
CueSheetId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 CueSheetId,omitempty"`
CueSheetReference CueSheetReference `xml:"http://ddex.net/xml/ern/41 CueSheetReference"`
CueSheetType CueSheetType `xml:"http://ddex.net/xml/ern/41 CueSheetType"`
Cue []DetailedCue `xml:"http://ddex.net/xml/ern/41 Cue"`
}
// A Composite containing details of one or more CueSheets.
type DetailedCueSheetList struct {
CueSheet []DetailedCueSheet `xml:"http://ddex.net/xml/ern/41 CueSheet"`
}
// A Composite containing details of a HashSum and its governing algorithm.
type DetailedHashSum struct {
Algorithm HashSumAlgorithmType `xml:"http://ddex.net/xml/ern/41 Algorithm"`
Version string `xml:"http://ddex.net/xml/ern/41 Version,omitempty"`
Parameter string `xml:"http://ddex.net/xml/ern/41 Parameter,omitempty"`
DataType BinaryDataType `xml:"http://ddex.net/xml/avs/avs DataType,omitempty"`
HashSumValue string `xml:"http://ddex.net/xml/ern/41 HashSumValue"`
}
// A Composite containing details of a PartyId.
type DetailedPartyId struct {
ISNI string `xml:"http://ddex.net/xml/ern/41 ISNI,omitempty"`
DPID DPID `xml:"http://ddex.net/xml/ern/41 DPID,omitempty"`
IpiNameNumber string `xml:"http://ddex.net/xml/ern/41 IpiNameNumber,omitempty"`
IPN string `xml:"http://ddex.net/xml/ern/41 IPN,omitempty"`
CisacSocietyId string `xml:"http://ddex.net/xml/ern/41 CisacSocietyId,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
}
// A Composite containing details of the Name, Identifier and Role(s) of a Contributor to a Resource.
type DetailedResourceContributor struct {
PartyId []DetailedPartyId `xml:"http://ddex.net/xml/ern/41 PartyId,omitempty"`
PartyName []PartyName `xml:"http://ddex.net/xml/ern/41 PartyName"`
Role []ContributorRole `xml:"http://ddex.net/xml/ern/41 Role,omitempty"`
InstrumentType []InstrumentType `xml:"http://ddex.net/xml/ern/41 InstrumentType,omitempty"`
HasMadeFeaturedContribution bool `xml:"http://ddex.net/xml/ern/41 HasMadeFeaturedContribution,omitempty"`
HasMadeContractedContribution bool `xml:"http://ddex.net/xml/ern/41 HasMadeContractedContribution,omitempty"`
DisplayCredits []DisplayCredits `xml:"http://ddex.net/xml/ern/41 DisplayCredits,omitempty"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// A Composite containing details of a UseType.
type DiscoverableUseType struct {
UseType UseType `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
IsDiscoverable bool `xml:"IsDiscoverable,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of the Name, Identifier and Role(s) of a DisplayArtist of a Resource.
type DisplayArtist struct {
ArtistPartyReference ArtistPartyReference `xml:"http://ddex.net/xml/ern/41 ArtistPartyReference"`
DisplayArtistRole DisplayArtistRole `xml:"http://ddex.net/xml/ern/41 DisplayArtistRole"`
ArtisticRole []ContributorRole `xml:"http://ddex.net/xml/ern/41 ArtisticRole,omitempty"`
TitleDisplayInformation []TitleDisplayInformation `xml:"http://ddex.net/xml/ern/41 TitleDisplayInformation,omitempty"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// A Composite containing details of a DisplayArtistName.
type DisplayArtistNameWithDefault struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of Artist, FeaturedArtist, MainArtist
type DisplayArtistRole string
// Must match the pattern P[\d\-_a-zA-Z]+
type DisplayCreditParty string
// A Composite containing details of a Role and instrumentation for which a Party is credited.
type DisplayCredits struct {
DisplayCreditText string `xml:"http://ddex.net/xml/ern/41 DisplayCreditText"`
DisplayCreditParty DisplayCreditParty `xml:"http://ddex.net/xml/ern/41 DisplayCreditParty"`
NameUsedInDisplayCredit string `xml:"http://ddex.net/xml/ern/41 NameUsedInDisplayCredit,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of a SubTitle.
type DisplaySubTitle struct {
Value string `xml:",chardata"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
IsDisplayedInTitle bool `xml:"IsDisplayedInTitle,attr,omitempty"`
SubTitleType SubTitleType `xml:"SubTitleType,attr,omitempty"`
}
// A Composite containing details of a Title as the MessageSender suggests it should be shown to the Consumer.
type DisplayTitle struct {
TitleText string `xml:"http://ddex.net/xml/ern/41 TitleText"`
SubTitle []DisplaySubTitle `xml:"http://ddex.net/xml/ern/41 SubTitle,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of a Title as the MessageSender suggests it should be shown to the Consumer.
type DisplayTitleText struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of a WebPage for a DistributionChannel.
type DistributionChannelPage struct {
PartyId []DetailedPartyId `xml:"http://ddex.net/xml/ern/41 PartyId,omitempty"`
PageName Name `xml:"http://ddex.net/xml/ern/41 PageName,omitempty"`
URL string `xml:"http://ddex.net/xml/ern/41 URL,omitempty"`
UserName string `xml:"http://ddex.net/xml/ern/41 UserName,omitempty"`
}
// May be one of 12Track, 16Track, 24Track, 3Track, 32Track, 4Track, 48Track, 6Track, 8Track, AbletonLive, BruArchive, BandedDisc_InsideOut, BandedDisc_OutsideIn, Cubase, DataFiles, DigitalPerformer, FinalCutExpress, FinalCutPro, FruityLoops, FullTrackMono, GarageBand, HalfTrackMono, HalfTrackStereo, HardCopy, Interleaved5.1Files, InterleavedStereoFiles, Logic, LtfsArchive, LtfsBackup, MezzoArchive, MicrosoftBackup, MonoFiles, Nuendo, OrangeBook, Paris, ProTools, QuarterTrackMono, QuarterTrackStereo, QuickTime, Redbook, RetrospectArchive, RetrospectCatalog, SplitStereo, StudioOne, TarArchive, TarBackup, ToastArchive, TrackedDisc_InsideOut, TrackedDisc_OutsideIn, TwinTrack
type ElementConfiguration string
// May be one of Backup, Convenience, Copy, Documentation, LongTerm, Master, Safety, StorageContainer, Transfer, WorkElement
type ElementDesignation string
// May be one of Computer, Microphone, Recorder, SignalProcessor, Software, Loudspeaker
type EquipmentType string
// May be one of NewReleaseMessage
type ErnMessageType string
// May be one of NewReleaseMessage, PurgeReleaseMessage
type ErnTestMessageType string
// May be one of ArtistRoleUnknown, CommercialReleaseDateInvalid, ConflictingAvailabilityPeriods, DuplicatedPublisherNames, ErnMissing, FileOK, IdentifierInvalid, IdentifierSyntaxInvalid, InternalError, MetadataMissing, NewReleaseMessageInvalid, NoDealForTrackRelease, NoDealInNewReleaseMessage, OriginalReleaseDateLaterThanReleaseDate, PrimaryArtistNameMissing, ResourceCorrupt, ResourceMissing, ResourceNotMeetingSpecifications, SignatureOrHashSumWrongOrMissing, UnsupportedUsage, UserDefined
type ErncFileStatus string
// May be one of ResendXmlOnly, ResendXmlAndResources, UserDefined
type ErncProposedActionType string
// A Composite containing details of the Date and Place of an Event.
type EventDate struct {
DdexIsoDate DdexIsoDate `xml:",chardata"`
IsApproximate bool `xml:"IsApproximate,attr,omitempty"`
IsBefore bool `xml:"IsBefore,attr,omitempty"`
IsAfter bool `xml:"IsAfter,attr,omitempty"`
ApplicableTerritoryCode AllTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
LocationDescription string `xml:"LocationDescription,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// A Composite containing details of the DateTime and Place of an Event.
type EventDateTime struct {
Value time.Time `xml:",chardata"`
IsApproximate bool `xml:"IsApproximate,attr,omitempty"`
IsBefore bool `xml:"IsBefore,attr,omitempty"`
IsAfter bool `xml:"IsAfter,attr,omitempty"`
TerritoryCode AllTerritoryCode `xml:"TerritoryCode,attr,omitempty"`
LocationDescription string `xml:"LocationDescription,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
func (t *EventDateTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T EventDateTime
var layout struct {
*T
Value *xsdDateTime `xml:",chardata"`
}
layout.T = (*T)(t)
layout.Value = (*xsdDateTime)(&layout.T.Value)
return e.EncodeElement(layout, start)
}
func (t *EventDateTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T EventDateTime
var overlay struct {
*T
Value *xsdDateTime `xml:",chardata"`
}
overlay.T = (*T)(t)
overlay.Value = (*xsdDateTime)(&overlay.T.Value)
return d.DecodeElement(&overlay, &start)
}
// A Composite containing details of the DateTime and Place of an Event.
type EventDateTimeWithoutFlags struct {
Value time.Time `xml:",chardata"`
IsApproximate bool `xml:"IsApproximate,attr,omitempty"`
ApplicableTerritoryCode AllTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
LocationDescription string `xml:"LocationDescription,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
func (t *EventDateTimeWithoutFlags) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T EventDateTimeWithoutFlags
var layout struct {
*T
Value *xsdDateTime `xml:",chardata"`
}
layout.T = (*T)(t)
layout.Value = (*xsdDateTime)(&layout.T.Value)
return e.EncodeElement(layout, start)
}
func (t *EventDateTimeWithoutFlags) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T EventDateTimeWithoutFlags
var overlay struct {
*T
Value *xsdDateTime `xml:",chardata"`
}
overlay.T = (*T)(t)
overlay.Value = (*xsdDateTime)(&overlay.T.Value)
return d.DecodeElement(&overlay, &start)
}
// A Composite containing details of the Date and Place of an Event.
type EventDateWithDefault struct {
DdexIsoDate DdexIsoDate `xml:",chardata"`
IsApproximate bool `xml:"IsApproximate,attr,omitempty"`
ApplicableTerritoryCode AllTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of the Date and Place of an Event.
type EventDateWithoutFlags struct {
DdexIsoDate DdexIsoDate `xml:",chardata"`
IsApproximate bool `xml:"IsApproximate,attr,omitempty"`
ApplicableTerritoryCode AllTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
LocationDescription string `xml:"LocationDescription,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// May be one of Informative, Instructive
type ExpressionType string
// A Composite containing an Extent and a UnitOfMeasure.
type Extent struct {
Value float64 `xml:",chardata"`
UnitOfMeasure UnitOfExtent `xml:"UnitOfMeasure,attr,omitempty"`
}
// A Composite containing details of promotional or other material in digital form related to a Release.
type ExternalResourceLink struct {
URL []string `xml:"http://ddex.net/xml/ern/41 URL"`
ValidityPeriod PeriodWithoutFlags `xml:"http://ddex.net/xml/ern/41 ValidityPeriod,omitempty"`
ExternalLink string `xml:"http://ddex.net/xml/ern/41 ExternalLink,omitempty"`
ExternallyLinkedResourceType []ExternallyLinkedResourceType `xml:"http://ddex.net/xml/ern/41 ExternallyLinkedResourceType,omitempty"`
FileFormat string `xml:"http://ddex.net/xml/ern/41 FileFormat,omitempty"`
}
// May be one of AdditionalMetadata, Logo, PromotionalImage, PromotionalInformation, PromotionalItem, Unknown, UserDefined
type ExternallyLinkedResourceType string
// A Composite containing details of a File.
type File struct {
URI string `xml:"http://ddex.net/xml/ern/41 URI"`
HashSum DetailedHashSum `xml:"http://ddex.net/xml/ern/41 HashSum,omitempty"`
FileSize float64 `xml:"http://ddex.net/xml/ern/41 FileSize,omitempty"`
}
// May be one of 3DmFile, 3G2File, 3GpFile, 7ZFile, 8BiFile, AacFile, AccdbFile, AifFile, AiFile, AnaFile, AppFile, AsfFile, AspFile, AsxFile, AudFile, AviFile, BakFile, BatFile, BinFile, BmpFile, BtFile, BwfFile, CabFile, CerFile, CfgFile, CFile, CgiFile, ClassFile, ComFile, CplFile, CppFile, CsFile, CsrFile, CssFile, CsvFile, CurFile, DatFile, DbFile, DbxFile, DebFile, DllFile, DmgFile, DmpFile, DocFile, DocxFile, DrvFile, DrwFile, DsdFile, DtdFile, DvFile, DwgFile, DxfFile, EfxFile, EpsFile, ExeFile, FlaFile, FlvFile, FntFile, FonFile, GadgetFile, GamFile, GhoFile, GifFile, GpxFile, GzFile, HqxFile, HtmFile, HtmlFile, IffFile, InddFile, IniFile, IsoFile, JarFile, JavaFile, JpgFile, JsFile, JspFile, KeychainFile, KeyFile, KmlFile, LnkFile, LogFile, M3UFile, MaxFile, MdbFile, MFile, MidFile, MimFile, MovFile, Mp3File, Mp4File, MpaFile, MpgFile, MsgFile, NesFile, NeuFile, OriFile, OtfFile, PagesFile, PcmFile, PctFile, PdbFile, PdfFile, PhpFile, PifFile, PkgFile, PlFile, PlnFile, PluginFile, PngFile, PpsFile, PptFile, PptxFile, PrfFile, PsdFile, PsFile, PspimageFile, PtsFile, QxdFile, QxpFile, RaFile, RarFile, RelsFile, RmFile, RomFile, RssFile, RtfFile, SavFile, Sd2File, SdfFile, SitFile, SitxFile, SqlFile, SvgFile, SwfFile, SysFile, TarFile, TarGzFile, ThmFile, TifFile, TmpFile, ToastFile, TtfFile, TxtFile, UueFile, VbFile, VcdFile, VcfFile, VobFile, WavFile, WksFile, WmaFile, WmvFile, WpdFile, WpsFile, WsfFile, XhtmlFile, XllFile, XlsFile, XlsxFile, XmlFile, YuvFile, ZipFile, ZipxFile
type FileType string
// A Composite containing details of a Fingerprint and its governing algorithm.
type Fingerprint struct {
Algorithm FingerprintAlgorithmType `xml:"http://ddex.net/xml/ern/41 Algorithm"`
Version string `xml:"http://ddex.net/xml/ern/41 Version,omitempty"`
Parameter string `xml:"http://ddex.net/xml/ern/41 Parameter,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File"`
DataType BinaryDataType `xml:"http://ddex.net/xml/avs/avs DataType"`
FingerprintValue string `xml:"http://ddex.net/xml/ern/41 FingerprintValue"`
}
// May be one of UserDefined
type FingerprintAlgorithmType string
// A Composite containing details of a FirstPublicationDate.
type FirstPublicationDate struct {
DdexIsoDate DdexIsoDate `xml:",chardata"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of 24, 25, 29.97, 30
type FrameRate string
// A Composite containing details of a FulfillmentDate.
type FulfillmentDateWithTerritory struct {
FulfillmentDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 FulfillmentDate"`
ResourceReleaseReference []ResourceReleaseReference `xml:"http://ddex.net/xml/ern/41 ResourceReleaseReference,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of Androgynous, Feminine, Masculine, Unknown
type Gender string
// A Composite containing details of a Genre.
type GenreWithTerritory struct {
GenreText string `xml:"http://ddex.net/xml/ern/41 GenreText"`
SubGenre string `xml:"http://ddex.net/xml/ern/41 SubGenre,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of CRC32, MD2, MD4, MD4(MLNET), MD5, MDC2, RMD160, SHA, SHA1, SHA2, SHA-224, SHA-256, SHA3, SHA-384, SHA-512, UserDefined
type HashSumAlgorithmType string
// A Composite containing details of an Image.
type Image struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type ImageType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []ResourceProprietaryId `xml:"http://ddex.net/xml/ern/41 ResourceId"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName,omitempty"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
FirstPublicationDate []FulfillmentDateWithTerritory `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
Description []DescriptionWithTerritory `xml:"http://ddex.net/xml/ern/41 Description,omitempty"`
Keywords []KeywordsWithTerritory `xml:"http://ddex.net/xml/ern/41 Keywords,omitempty"`
Synopsis []SynopsisWithTerritory `xml:"http://ddex.net/xml/ern/41 Synopsis,omitempty"`
TechnicalDetails []TechnicalImageDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// May be one of GIF, JPEG, JPEG2000, PNG, TIFF, Unknown, UserDefined
type ImageCodecType string
// May be one of BackCoverImage, BookletBackImage, BookletFrontImage, DocumentImage, FrontCoverImage, Icon, Logo, Photograph, Poster, TrayImage, Unknown, UserDefined, VideoScreenCapture, Wallpaper
type ImageType string
// May be one of AcousticBassGuitar, AcousticGuitar, AcousticPiano, AfricanHarp, AfricanPercussion, AgogoBells, AkaiMPC1000, AkaiS1000, Alboka, Alpenhorn, AltoClarinet, AltoCrumhorn, AltoFlute, AltoHorn, AltoRecorder, AltoSackbut, AltoSaxophone, AltoShawm, AltoTrombone, AltoViol, AltoVoice, AnalogueDrumMachine, AnalogueSynthesizer, AndeanHarp, Angklung, Anvil, Apito, AppomatoxBugle, ArchLute, ArcoAcousticBass, Arghul, ArpSolinaStringEnsemble, Atumpan, Aulochrome, Autoharp, BabyBass, Baglama, Bagpipes, BahianGuitar, BajoSexto, Balafon, Balalaika, BaldwinFunMachine, Bandoneon, Bandura, Bandurria, Banhu, Banjo, BanjoGuitar, Banjolin, Bansuri, BaritoneGuitar, BaritoneHorn, BaritoneOboe, BaritoneSaxophone, BaritoneVoice, BaroqueBassoon, BaroqueCello, BaroqueClarinet, BaroqueFlute, BaroqueGuitar, BaroqueOboe, BaroqueRecorder, BaroqueViola, BaroqueViolin, BarrelOrgan, Baryton, BassBanjo, BassBaritoneVoice, BassCittern, BassClarinet, BassDrum(Concert), BassDulcian, BassetClarinet, BassetHorn, BassFlute, BassGuitar, BassHarmonica, BassoDaBraccio, Bassoon, BassPedals, BassRebec, BassRecorder, BassSackbut, BassSaxophone, BassShawm, BassTrombone, BassTrumpet, BassTuba, BassViol, BassVoice, Bata, Bawu, BellTree, Bendir, Berimbau, BicyclePump, BigBand, BinghiDrum, BirdWhistle, Biwa, Bodhran, BodyPercussion, Bombard, Bombo, BomboLeguero, Bones, Bongos, Bontempi, BosunsWhistle, Bottles, Bouzouki, BoyVoice, Bozoq, BrassBand, BrassInstrument, BrassSection, Breakbeat, Brushes, BufoBass, Bugle, Cabasa, Caixa, Caja, Cajon, Calabash, Calliope, Carillon, Castanet, Cavaquinho, Caxixi, Celesta, Cello, CelloBanjo, CelticHarp, Chalumeau, Chamberlin, ChamberOrchestra, ChapmanStick, Charango, ChildrensBackgroundVocalist, ChildrensChoir, ChildVoice, Chimes, ChinaCymbal, ChiryaTarang, Chocalho, Choir, ChromaticButtonAccordion, ChromaticHarmonica, Cimbalom, Cimbasso, Citole, Cittern, Clapstick, Clarinet, ClarinoTrumpet, Claves, ClaviaNordLead, Clavichord, Clavinet, Claypot, Comb, ComputermusicSynthesis, ConcertHarp, Concertina, ConchShell, Congas, ContraAltoClarinet, ContrabassClarinet, Contrabassoon, ContrabassRecorder, ContrabassSarrusophone, ContrabassSaxophone, ContrabassTrombone, ContrabassVoice, ContraltoVoice, Cordovox, Cornet, Cornetto, CountertenorVoice, CountryGroup, Cowbell, CrashCymbal, Craviola, Crotales, CrumarRoadrunner2, Crumhorn, Crwth, Cuatro, Cuica, Cumbus, Cymbal(Suspended), Cymbals, Daf, Damaru, DanBau, DanTranh, Davul, Dayereh, Dectet, Defi, Dhol, Dholak, DiatonicButtonAccordion, Dictophone, Didgeridoo, DigitalSynthesizer, Dilruba, Diple, Dizi, Djembe, DjScratching, DobroGuitar, Doepfer, Dohol, Dombra, Domra, DoubleBass, DoublebassViol, DoubleHarp, DoubleViolin, Doumbek, Dranyen, Drehleier, DrumController, DrumKat, DrumKit, DrumMachine, DrumSample, DrumSticks, Duduk, Duet, Duggi, Dulcian, Dulcitone, Dungchen, Dunun, Dutar, Dzuddahord, Ektara, Electric5StringBass, Electric6StringBass, Electric6StringViolin, ElectricBassGuitar, ElectricCello, ElectricGuitar, ElectricHarp, ElectricMandolin, ElectricOrgan, ElectricPiano, ElectricSitar, ElectricSlideGuitar, ElectricUprightBass, ElectricViola, ElectricViolin, ElectroAcousticHurdyGurdy, ElectronicBagpipes, ElectronicGroup, ElectronicWindInstrument, Electronium, ElephantBell, EmsVSC3, EnglishHorn, Ennanga, EpinetteDesVosges, Erhu, Esraj, Euphonium, FairlightCMI, Farfisa, FemaleBackgroundVocalist, FemaleChoir, FemaleVoice, FenderBass, FenderJazzBass, FenderJazzmaster, FenderPrecisionBass, FenderStratocaster, FenderTelecaster, Fiddle, Fife, FingerClicks, FingerCymbals, FingerSnaps, Fiscorn, Flabiol, Flageolet, Flexatone, FloorToms, Floyera, Flugelhorn, Flute, FolkGroup, FolkHarp, FolkloricPercussion, FootStomp, Fortepiano, FrenchHorn, FretlessBassGuitar, Frippertronics, Frog, FryingPanGuitar, Fujara, Gadulka, Gambang, Gamelan, Ganga, Gardon, Gasba, Gayageum, Gemshorn, GermanFlute, Ghaita, Ghaychak, GibsonFirebird, GibsonLesPaul, GibsonSG, GirlVoice, Gittern, Gizmo, GlassHarmonica, GlassHarp, Glockenspiel, Gong, GrandPiano, GreatBassRecorder, GrooveBox, GroupBackgroundVocalists, Guacharaca, Guache, Guanzi, Guira, Guiro, Guitar, Guitarron, GuitarSynth, Guqin, Gusli, Guzheng, Gyaling, HammeredDulcimer, HammondB3, HammondC3, HammondOrgan, HandBells, HandChimes, HandClaps, HardangerFiddle, Harmonica, Harmonium, Harpsichord, HawaiianLapSteelGuitar, Heckelphone, Helicon, HeraldTrumpet, HighlandPipes, HighVocalRegister, HiHatCymbal, HofnerBass, HohnerGuitaret, HotFountainPen, Huapanguera, HurdyGurdy, InfiniteGuitar, IrishBouzouki, IrishLowWhistle, Jagdhorn, Jakhay, JamBlock, JaranaJarocha, Jawbone, Jawharp, JazzBand, JewsHarp, Jinghu, Jug, Kacapi, Kalimba, Kanjira, Kantele, Kanun, Katsa, Kaval, Kazoo, Kemenche, Kendang, Keyboard, KeyboardBass, KeyboardController, KeyedTrumpet, Khamak, Khartal, Khene, Khim, Khlui, Khol, KhongWongLek, KhongWongYai, KickDrum, Knuckles, Kokin, Kora, KorgMicrokorg, KorgMS10, KorgTrident, Koto, Kugo, LakotaLoveFlute, Langeleik, Laouto, LapSteelGuitar, LatinGroup, LatinPercussion, Launeddas, Leona, Lirone, Lithophone, Lokole, Looping, LowreyOrgan, LowVocalRegister, Lur, Lute, Lutheal, LyraViol, Lyre, Lyricon, Madal, MagneticTapeTreatments, MaleBackgroundVocalist, MaleChoir, MaleVoice, Mandocello, Mandola, Mandolele, Mandolin, Mandolino, Mandore, Manjira, Manzello, Maracas, MarchingBand, Marimba, Marimbaphone, Marimbula, Marxophone, Mazhar, MechanicalInstrument, MedievalFiddle, MedievalHarp, MediumVocalRegister, Mellophone, Mellotron, Melodian, Melodica, MetalCans, Metallophone, MezzoSopranoVoice, Mijwiz, MilitaryBand, MiniatureKhene, MixedBackgroundVocalist, MixedChoir, MixedPercussion, MixedVoice, Mizmar, MohanVeena, Moog, MoogGuitar, MoogMinimoog, MoogPolymoog, MoogRogue, MoogVoyager, MouthOrgan, MouthPercussion, Mridangam, Muharsing, Musette, MusicalBow, MusicBox, Naal, Nadaswaram, Nagara, Nai, NaturalHorn, NaturalTrumpet, NeutralVoice, NeyFlute, Ngoni, Njarka, Nonet, Novachord, NovationBassStation, Nyatiti, Nyckelharpa, NylonStringGuitar, Oberheim, Oboe, OboeDaCaccia, OboeDAmore, OboromDrum, Ocarina, Octet, Octoban, Omnichord, OndesMartenot, Ophicleide, Optigan, Orchestra, OrchestralHit, OrchestralPercussion, Organistrum, Orpharion, Oud, PaddleDrums, Paixiao, Palmas, Pandeiro, Pandura, PanFlute, ParaguayanHarp, Pedabro, PedalSteelGuitar, PercussionInstrument, PercussionSection, Phin, Phonofiddle, Pi, Pianet, PianoAccordion, PianoHarp, Pianola, PiccoloBass, PiccoloClarinet, PiccoloFlute, PiccoloTrumpet, PiccoloVoice, Pinkillu, Pipa, Pipe, PipeAndDrumGroup, PipeOrgan, PitchedPercussionInstrument, PluckedDulcimer, PocketTrumpet, PoliceWhistle, PongLang, PopBand, PortugueseGuitar, PositiveOrgan, PostHorn, PotsAndPans, PreparedPiano, Psaltery, Pungi, Qarkabeb, Quartet, Quena, Quenacho, Quintet, Rabel, Rackett, Rainstick, Ranat, Ratchet, Rattle, Rauschpfeife, Rebab, Rebec, Recorder, RecoReco, ReedInstrument, ReedOrgan, Regal, RenaissanceGuitar, Repinique, Rhodes, RhythmStick, RideCymbal, Riq, Rnga, RockBand, RolandHandsonicHPD15, RolandJuno, RolandJuno60, RolandJupiter8, RolandParaphonicStringsRS505, RolandTB303, RolandTR808, RolandVDrums, Rolmo, RomanticGuitar, Rondador, Rototoms, Sabar, Sackbut, SampledDrumMachine, SampledKeyboard, Sampler, SampleSequencer, SandBlocks, Santoor, Sarangi, Sarod, Sarrusophone, Saung, Saw, SawDuang, Saxello, Saxophone, Scratcher, Septet, SequentialCircuitsProphet5, Serpent, Sextet, Shaker, Shakuhachi, Shamisen, Shawm, Shekere, Shelltone, Shenai, Sheng, Sho, Shofar, ShrutiBox, ShviWhistle, Siku, Simsimiyya, SingingBowls, Sintir, Siren, Sistrum, Sitar, Slapstick, SleighBells, SlideGuitar, SlideSaxophone, SlideTrumpet, SlideWhistle, SnareDrum, SnareDrum(Marching), SoftwareSynthesizer, SopraninoRecorder, SopraninoSaxophone, SopraninoVoice, SopranoClarinet, SopranoCornet, SopranoCrumhorn, SopranoDomra, SopranoDulcian, SopranoRecorder, SopranoSaxophone, SopranoShawm, SopranoTrumpet, SopranoVoice, Sordun, SoundEffects, Sousaphone, SpectrasonicsOmnisphere, Spinet, SplashCymbal, Spoons, SpringDrum, SquarePiano, StarInstrumentsSynare, SteelDrums, Sticks, StringedKeyboardInstrument, StringInstrument, StringMachine, StringSection, Stritch, StrohlViolin, Strumstick, Stylophone, Suling, Suona, Surbahar, Surdo, Swarmandal, Synclavier, Syncussion, Syndrums, SynthBass, SynthBrass, SynthChoir, Synthesizer, SynthPad, SynthSteelDrums, SynthStrings, Taal, Taarija, Tabla, Tabor, TackPiano, TacomaPaposeAcousticGuitar, Taiko, TalkingDrum, Tambora, Tamborim, Tambourine, Tambura, Tanbour, Tanpura, TaongaPuoro, Tar(Percussion), Tar(String), Tarka, Tarogato, Tarol, TempleBell, TempleBlocks, Tenor, TenorBanjo, TenorClarinet, TenorCrumhorn, TenorDrum, TenorDulcian, TenorFlute, TenorGuitar, TenorHorn, TenorRebec, TenorRecorder, TenorSackbut, TenorSaxophone, TenorShawm, TenorTuba, TenorViol, Thavil, Theorbo, Theremin, ThunderSheet, TibetanBells, TibetanBowls, Timbales, Timbau, Timpani, Timple, Tingsha, TinWhistle, Tiple, TogamanGuitarViol, Tompak, Toms, TongueDrum, TouchGuitar, ToyAccordion, ToyInstrument, ToyPiano, TraversoFlute, Treatments, TrebleRebec, TrebleViol, Tres, Triangle, Trio, TrombaMarina, Trombone, Trumpet, Tuba, TubularBells, Tumbi, Turntable, Tusselfloyte, Txalaparta, Tzouras, Udu, UilleanPipes, Ukulele, UliUli, Unknown, UnpitchedPercussionInstrument, UprightBass, UprightPiano, Urumee, UserDefined, VakoOrchestron, Valiha, ValveTrombone, Veena, VenezualanHarp, VeracruzHarp, Vibraphone, Vibraslap, VichitraVeena, Vielle, Vihuela, Viol, Viola, ViolaCaipira, ViolaDaBraccio, ViolaDaGamba, ViolaDAmore, ViolaPomposa, Violin, ViolinoPiccolo, Virginals, ViTar, VocalAccompaniment, VocalEnsemble, Voice, VoxContinental, WagnerTuba, Washboard, WashtubBass, Waterphone, WelshTripleHarp, WillowFlute, WindChimes, WindInstrument, WindMachine, WindSection, WineGlasses, WireStrungHarp, WobbleBoard, WoodBlock, WoodFlute, WoodTrumpet, WoodwindSection, Wot, Wurlitzer200A, WurlitzerElectricPiano, WurlitzerOrgan, Xalam, Xaphoon, Xiao, Xun, Xylophone, Xylorimba, YamahaCP80, YamahaCS80, YamahaQY70, Yangqin, YayliTambur, Yokin, Yueqin, Zampona, Zerbaghali, Zeze, Zhonghu, Zither, Zourna, Zummara, Zurla, Zurna, ZydecoRubboard, 12-StringElectricGuitar, 12-StringGuitar, 5-StringBanjo
type InstrumentType string
// May be one of aa, aar, ab, abk, ae, ave, af, afr, ak, aka, am, amh, an, arg, ar, ara, as, asm, av, ava, ay, aym, az, aze, ba, bak, be, bel, bg, bul, bh, bih, bi, bis, bm, bam, bn, ben, bo, bod, br, bre, bs, bos, ca, cat, ce, che, ch, cha, co, cos, cr, cre, cs, ces, cu, chu, cv, chv, cy, cym, da, dan, de, deu, dv, div, dz, dzo, ee, ewe, el, ell, en, eng, eo, epo, es, spa, et, est, eu, eus, fa, fas, ff, ful, fi, fin, fj, fij, fo, fao, fr, fra, fy, fry, ga, gle, gd, gla, gl, glg, gn, grn, gu, guj, gv, glv, ha, hau, he, heb, hi, hin, ho, hmo, hr, hrv, ht, hat, hu, hun, hy, hye, hz, her, ia, ina, id, ind, ie, ile, ig, ibo, ii, iii, ik, ipk, io, ido, is, isl, it, ita, iu, iku, ja, jpn, jv, jav, ka, kat, kg, kon, ki, kik, kj, kua, kk, kaz, kl, kal, km, khm, kn, kan, ko, kor, kr, kau, ks, kas, ku, kur, kv, kom, kw, cor, ky, kir, la, lat, lb, ltz, lg, lug, li, lim, ln, lin, lo, lao, lt, lit, lu, lub, lv, lav, mg, mlg, mh, mah, mi, mri, mk, mkd, ml, mal, mn, mon, mo, mr, mar, ms, msa, mt, mlt, my, mya, na, nau, nb, nob, nd, nde, ne, nep, ng, ndo, nl, nld, nn, nno, no, nor, nr, nbl, nv, nav, ny, nya, oc, oci, oj, oji, om, orm, or, ori, os, oss, pa, pan, pi, pli, pl, pol, ps, pus, pt, por, qu, que, rm, roh, rn, run, ro, ron, ru, rus, rw, kin, sa, san, sc, srd, sd, snd, se, sme, sg, sag, si, sin, sk, slk, sl, slv, sm, smo, sn, sna, so, som, sq, sqi, sr, srp, ss, ssw, st, sot, su, sun, sv, swe, sw, swa, ta, tam, te, tel, tg, tgk, th, tha, ti, tir, tk, tuk, tl, tgl, tn, tsn, to, ton, tr, tur, ts, tso, tt, tat, tw, twi, ty, tah, ug, uig, uk, ukr, ur, urd, uz, uzb, ve, ven, vi, vie, vo, vol, wa, wln, wo, wol, xh, xho, yi, yid, yo, yor, za, zha, zh, zho, zu, zul, ace, ach, ada, ady, afa, afh, ain, akk, ale, alg, alt, ang, anp, apa, arc, arn, arp, art, arw, ast, ath, aus, awa, bad, bai, bal, ban, bas, bat, bej, bem, ber, bho, bik, bin, bla, bnt, bra, btk, bua, bug, byn, cad, cai, car, cau, ceb, cel, chb, chg, chk, chm, chn, cho, chp, chr, chy, cmc, cnr, cop, cpe, cpf, cpp, crh, crp, csb, cus, dak, dar, day, del, den, dgr, din, doi, dra, dsb, dua, dum, dyu, efi, egy, eka, elx, enm, ewo, fan, fat, fil, fiu, fon, frm, fro, frr, frs, fur, gaa, gay, gba, gem, gez, gil, gmh, goh, gon, gor, got, grb, grc, gsw, gwi, hai, haw, hil, him, hit, hmn, hsb, hup, iba, ijo, ilo, inc, ine, inh, ira, iro, jbo, jpr, jrb, kaa, kab, kac, kam, kar, kaw, kbd, kha, khi, kho, kmb, kok, kos, kpe, krc, krl, kro, kru, kum, kut, lad, lah, lam, lez, lol, loz, lua, lui, lun, luo, lus, mad, mag, mai, mak, man, map, mas, mdf, mdr, men, mga, mic, min, mis, mkh, mnc, mni, mno, moh, mos, mul, mun, mus, mwl, mwr, myn, myv, nah, nai, nap, nds, new, nia, nic, niu, nog, non, nqo, nso, nub, nwc, nym, nyn, nyo, nzi, osa, ota, oto, paa, pag, pal, pam, pap, pau, peo, phi, phn, pon, pra, pro, qaa-qtz, raj, rap, rar, roa, rom, rup, sad, sah, sai, sal, sam, sas, sat, scn, sco, sel, sem, sga, sgn, shn, sid, sio, sit, sla, sma, smi, smj, smn, sms, snk, sog, son, srn, srr, ssa, suk, sus, sux, syc, syr, tai, tem, ter, tet, tig, tiv, tkl, tlh, tli, tmh, tog, tpi, tsi, tum, tup, tut, tvl, tyv, udm, uga, umb, und, vai, vot, wak, wal, war, was, wen, xal, yao, yap, ypk, zap, zbl, zen, zgh, znd, zun, zxx, zza
type Iso639Part12LanguageCode string
// May be one of aaa
type Iso639Part3LanguageCode string
// May be one of AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYI, UYU, UZS, VEF, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZWL
type IsoCurrencyCode string
// An ISO639 code representing a Language (Source of 639-3 codes: www.sil.org/iso639-3/).
type IsoLanguageCode string
// May be one of AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ES-CE, ES-CN, ES-ML, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW
type IsoTerritoryCode string
// A Composite containing details of a Description containing Keywords.
type KeywordsWithTerritory struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of DisplayLabel, UserDefined
type LabelType string
// May be one of CoverArt, VideoScreenCapture, UserDefined
type LinkDescription string
// A Composite containing details of a LinkedReleaseResourceReference for a Resource which is linked to a ContentItem.
type LinkedReleaseResourceReference struct {
DdexLocalResourceAnchorReference DdexLocalResourceAnchorReference `xml:",chardata"`
LinkDescription LinkDescription `xml:"LinkDescription,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of a MarketingComment.
type MarketingComment struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of BackCatalogDelivery, HighPriorityDelivery, NewReleaseDelivery, ReDelivery, TakeDown, UserDefined
type MessageActionType string
// A Composite containing information about Parties in between the original MessageSender and ultimate MessageRecipient.
type MessageAuditTrail struct {
MessageAuditTrailEvent []MessageAuditTrailEvent `xml:"http://ddex.net/xml/ern/41 MessageAuditTrailEvent"`
}
// A Composite containing details of a Party handling a Message and the Time at which the handling took place.
type MessageAuditTrailEvent struct {
MessagingPartyDescriptor MessagingPartyWithoutCode `xml:"http://ddex.net/xml/ern/41 MessagingPartyDescriptor"`
DateTime time.Time `xml:"http://ddex.net/xml/ern/41 DateTime"`
}
func (t *MessageAuditTrailEvent) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T MessageAuditTrailEvent
var layout struct {
*T
DateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 DateTime"`
}
layout.T = (*T)(t)
layout.DateTime = (*xsdDateTime)(&layout.T.DateTime)
return e.EncodeElement(layout, start)
}
func (t *MessageAuditTrailEvent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T MessageAuditTrailEvent
var overlay struct {
*T
DateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 DateTime"`
}
overlay.T = (*T)(t)
overlay.DateTime = (*xsdDateTime)(&overlay.T.DateTime)
return d.DecodeElement(&overlay, &start)
}
// May be one of LiveMessage, TestMessage
type MessageControlType string
// A Composite placed at the beginning of each DdexMessage providing information about the Message, such as MessageSender, MessageRecipient and a Message creation time stamp.
type MessageHeader struct {
MessageThreadId string `xml:"http://ddex.net/xml/ern/41 MessageThreadId,omitempty"`
MessageId string `xml:"http://ddex.net/xml/ern/41 MessageId"`
MessageFileName string `xml:"http://ddex.net/xml/ern/41 MessageFileName,omitempty"`
MessageSender MessagingPartyWithoutCode `xml:"http://ddex.net/xml/ern/41 MessageSender"`
SentOnBehalfOf MessagingPartyWithoutCode `xml:"http://ddex.net/xml/ern/41 SentOnBehalfOf,omitempty"`
MessageRecipient []MessagingPartyWithoutCode `xml:"http://ddex.net/xml/ern/41 MessageRecipient"`
MessageCreatedDateTime time.Time `xml:"http://ddex.net/xml/ern/41 MessageCreatedDateTime"`
MessageAuditTrail MessageAuditTrail `xml:"http://ddex.net/xml/ern/41 MessageAuditTrail,omitempty"`
MessageControlType MessageControlType `xml:"http://ddex.net/xml/avs/avs MessageControlType,omitempty"`
}
func (t *MessageHeader) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T MessageHeader
var layout struct {
*T
MessageCreatedDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 MessageCreatedDateTime"`
}
layout.T = (*T)(t)
layout.MessageCreatedDateTime = (*xsdDateTime)(&layout.T.MessageCreatedDateTime)
return e.EncodeElement(layout, start)
}
func (t *MessageHeader) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T MessageHeader
var overlay struct {
*T
MessageCreatedDateTime *xsdDateTime `xml:"http://ddex.net/xml/ern/41 MessageCreatedDateTime"`
}
overlay.T = (*T)(t)
overlay.MessageCreatedDateTime = (*xsdDateTime)(&overlay.T.MessageCreatedDateTime)
return d.DecodeElement(&overlay, &start)
}
// A Composite containing details of a MessagingParty.
type MessagingPartyWithoutCode struct {
PartyId PartyId `xml:"http://ddex.net/xml/ern/41 PartyId"`
PartyName PartyNameWithoutCode `xml:"http://ddex.net/xml/ern/41 PartyName,omitempty"`
TradingName string `xml:"http://ddex.net/xml/ern/41 TradingName,omitempty"`
}
// A Role played by a Contributor in relation to a MusicalWork.
type MusicalWorkContributorRole string
// A Composite containing details of a MusicalWorkId.
type MusicalWorkId struct {
ISWC string `xml:"http://ddex.net/xml/ern/41 ISWC,omitempty"`
OpusNumber string `xml:"http://ddex.net/xml/ern/41 OpusNumber,omitempty"`
ComposerCatalogNumber []string `xml:"http://ddex.net/xml/ern/41 ComposerCatalogNumber,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// May be one of AdaptedInOriginalLanguage, AdaptedInstrumentalWork, AdaptedWithNewLyrics, ArrangedWithNewMusic, CompositeMusicalWork, DramaticoMusicalWork, LyricRemoval, LyricReplacement, LyricTranslation, Mashup, Medley, MultimediaProductionWork, MusicalWorkMovement, MusicalWorkWithSamples, MusicArrangement, MusicArrangementOfText, OriginalLyricsArrangement, OriginalMusicAdaptation, OriginalMusicalWork, Potpourri, ProductionMusicLibraryWork, RadioProductionWork, TheaterProductionWork, TvProductionWork, Unknown, UnspecifiedArrangement, UnspecifiedMusicalWorkExcerpt, UserDefined, VideoProductionWork
type MusicalWorkType string
// A Composite containing details of a Name.
type Name struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
type NewReleaseMessage struct {
MessageHeader MessageHeader `xml:"http://ddex.net/xml/ern/41 MessageHeader"`
PartyList PartyList `xml:"http://ddex.net/xml/ern/41 PartyList"`
CueSheetList DetailedCueSheetList `xml:"http://ddex.net/xml/ern/41 CueSheetList,omitempty"`
ResourceList ResourceList `xml:"http://ddex.net/xml/ern/41 ResourceList"`
ChapterList ChapterList `xml:"http://ddex.net/xml/ern/41 ChapterList,omitempty"`
ReleaseList ReleaseList `xml:"http://ddex.net/xml/ern/41 ReleaseList"`
DealList DealList `xml:"http://ddex.net/xml/ern/41 DealList,omitempty"`
SupplementalDocumentList SupplementalDocumentList `xml:"http://ddex.net/xml/ern/41 SupplementalDocumentList,omitempty"`
ReleaseProfileVersionId ReleaseProfileVersionId `xml:"ReleaseProfileVersionId,attr,omitempty"`
ReleaseProfileVariantVersionId ReleaseProfileVariantVersionId `xml:"ReleaseProfileVariantVersionId,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr"`
}
// May be one of MacOS, MsWindows, Symbian, Unknown
type OperatingSystemType string
// A Composite containing details of a PLine.
type PLine struct {
Year time.Time `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
PLineCompany string `xml:"http://ddex.net/xml/ern/41 PLineCompany,omitempty"`
PLineText string `xml:"http://ddex.net/xml/ern/41 PLineText"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
PLineType PLineType `xml:"PLineType,attr,omitempty"`
}
func (t *PLine) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T PLine
var layout struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
layout.T = (*T)(t)
layout.Year = (*xsdGYear)(&layout.T.Year)
return e.EncodeElement(layout, start)
}
func (t *PLine) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T PLine
var overlay struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
overlay.T = (*T)(t)
overlay.Year = (*xsdGYear)(&overlay.T.Year)
return d.DecodeElement(&overlay, &start)
}
// May be one of OriginalPLine, RemasteringPLine
type PLineType string
// A Composite containing details of a PLine.
type PLineWithDefault struct {
Year time.Time `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
PLineCompany string `xml:"http://ddex.net/xml/ern/41 PLineCompany,omitempty"`
PLineText string `xml:"http://ddex.net/xml/ern/41 PLineText"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
func (t *PLineWithDefault) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
type T PLineWithDefault
var layout struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
layout.T = (*T)(t)
layout.Year = (*xsdGYear)(&layout.T.Year)
return e.EncodeElement(layout, start)
}
func (t *PLineWithDefault) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T PLineWithDefault
var overlay struct {
*T
Year *xsdGYear `xml:"http://ddex.net/xml/ern/41 Year,omitempty"`
}
overlay.T = (*T)(t)
overlay.Year = (*xsdGYear)(&overlay.T.Year)
return d.DecodeElement(&overlay, &start)
}
// May be one of Explicit, ExplicitContentEdited, NoAdviceAvailable, NotExplicit, Unknown, UserDefined
type ParentalWarningType string
// A Composite containing details of a ParentalWarningType.
type ParentalWarningTypeWithTerritory struct {
ParentalWarningType ParentalWarningType `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing details of a Party.
type Party struct {
PartyReference PartyReference `xml:"http://ddex.net/xml/ern/41 PartyReference"`
PartyId []DetailedPartyId `xml:"http://ddex.net/xml/ern/41 PartyId,omitempty"`
PartyName []PartyNameWithTerritory `xml:"http://ddex.net/xml/ern/41 PartyName"`
Affiliation []Affiliation `xml:"http://ddex.net/xml/ern/41 Affiliation,omitempty"`
RelatedParty []RelatedParty `xml:"http://ddex.net/xml/ern/41 RelatedParty,omitempty"`
ArtistProfilePage []string `xml:"http://ddex.net/xml/ern/41 ArtistProfilePage,omitempty"`
}
// Must match the pattern P[\d\-_a-zA-Z]+
type PartyAffiliateReference string
// Must match the pattern PADPIDA[a-zA-Z0-9]+
type PartyId string
// A Composite containing details of one or more Parties.
type PartyList struct {
Party []Party `xml:"http://ddex.net/xml/ern/41 Party"`
}
// A Composite containing details of a PartyName. Name details for a Party typically either contain a FullName or a KeyName.
type PartyName struct {
FullName Name `xml:"http://ddex.net/xml/ern/41 FullName"`
FullNameAsciiTranscribed string `xml:"http://ddex.net/xml/ern/41 FullNameAsciiTranscribed,omitempty"`
FullNameIndexed Name `xml:"http://ddex.net/xml/ern/41 FullNameIndexed,omitempty"`
NamesBeforeKeyName Name `xml:"http://ddex.net/xml/ern/41 NamesBeforeKeyName,omitempty"`
KeyName Name `xml:"http://ddex.net/xml/ern/41 KeyName,omitempty"`
NamesAfterKeyName Name `xml:"http://ddex.net/xml/ern/41 NamesAfterKeyName,omitempty"`
AbbreviatedName Name `xml:"http://ddex.net/xml/ern/41 AbbreviatedName,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// A Composite containing details of a PartyName. Name details for a Party typically either contain a FullName or a KeyName.
type PartyNameWithTerritory struct {
FullName Name `xml:"http://ddex.net/xml/ern/41 FullName"`
FullNameAsciiTranscribed string `xml:"http://ddex.net/xml/ern/41 FullNameAsciiTranscribed,omitempty"`
FullNameIndexed Name `xml:"http://ddex.net/xml/ern/41 FullNameIndexed,omitempty"`
NamesBeforeKeyName Name `xml:"http://ddex.net/xml/ern/41 NamesBeforeKeyName,omitempty"`
KeyName Name `xml:"http://ddex.net/xml/ern/41 KeyName,omitempty"`
NamesAfterKeyName Name `xml:"http://ddex.net/xml/ern/41 NamesAfterKeyName,omitempty"`
AbbreviatedName Name `xml:"http://ddex.net/xml/ern/41 AbbreviatedName,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsNickname bool `xml:"IsNickname,attr,omitempty"`
IsStageName bool `xml:"IsStageName,attr,omitempty"`
IsLegalName bool `xml:"IsLegalName,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
}
// A Composite containing details of a PartyName. Name details for a Party typically either contain a FullName or a KeyName.
type PartyNameWithoutCode struct {
FullName string `xml:"http://ddex.net/xml/ern/41 FullName"`
FullNameAsciiTranscribed string `xml:"http://ddex.net/xml/ern/41 FullNameAsciiTranscribed,omitempty"`
FullNameIndexed string `xml:"http://ddex.net/xml/ern/41 FullNameIndexed,omitempty"`
NamesBeforeKeyName string `xml:"http://ddex.net/xml/ern/41 NamesBeforeKeyName,omitempty"`
KeyName string `xml:"http://ddex.net/xml/ern/41 KeyName,omitempty"`
NamesAfterKeyName string `xml:"http://ddex.net/xml/ern/41 NamesAfterKeyName,omitempty"`
AbbreviatedName string `xml:"http://ddex.net/xml/ern/41 AbbreviatedName,omitempty"`
}
// Must match the pattern P[\d\-_a-zA-Z]+
type PartyReference string
// Must match the pattern P[\d\-_a-zA-Z]+
type PartyRelatedPartyReference string
// May be one of HasMember, IsMemberOf, UserDefined
type PartyRelationshipType string
// A Composite containing details of a PercentageRate.
type Percentage struct {
Value float64 `xml:",chardata"`
HasMaxValueOfOne bool `xml:"HasMaxValueOfOne,attr,omitempty"`
}
// A Composite containing details about a Period of Time. Periods are typically describedby at least a StartDate or EndDate (or StartDateTime or EndDateTime) where the StartDate(Time) and EndDate(Time) are included in the Period. Thus a one-day period can be described by using the same date in the StartDate and EndDate. If two subsequent Periods form a continuum (i.e. with no break in-between) there are two ways to express this: (a) if using dates, the EndDate of the first Period must be one day before the StartDate of the second Period; (b) if using date times, the EndDateTime of the first Period must be the same as the StartDateTime of the second Period.
type Period struct {
StartDate EventDate `xml:"http://ddex.net/xml/ern/41 StartDate,omitempty"`
EndDate EventDate `xml:"http://ddex.net/xml/ern/41 EndDate,omitempty"`
StartDateTime EventDateTime `xml:"http://ddex.net/xml/ern/41 StartDateTime,omitempty"`
EndDateTime EventDateTime `xml:"http://ddex.net/xml/ern/41 EndDateTime,omitempty"`
}
// A Composite containing details about a Period of Time. Periods are typically describedby at least a StartDate or EndDate (or StartDateTime or EndDateTime) where the StartDate(Time) and EndDate(Time) are included in the Period. Thus a one-day period can be described by using the same date in the StartDate and EndDate. If two subsequent Periods form a continuum (i.e. with no break in-between) there are two ways to express this: (a) if using dates, the EndDate of the first Period must be one day before the StartDate of the second Period; (b) if using date times, the EndDateTime of the first Period must be the same as the StartDateTime of the second Period.
type PeriodWithoutFlags struct {
StartDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 StartDate,omitempty"`
EndDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 EndDate,omitempty"`
StartDateTime EventDateTimeWithoutFlags `xml:"http://ddex.net/xml/ern/41 StartDateTime,omitempty"`
EndDateTime EventDateTimeWithoutFlags `xml:"http://ddex.net/xml/ern/41 EndDateTime,omitempty"`
}
// A Composite containing details of physical returns.
type PhysicalReturns struct {
PhysicalReturnsAllowed bool `xml:"http://ddex.net/xml/ern/41 PhysicalReturnsAllowed"`
LatestDateForPhysicalReturns DdexIsoDate `xml:"http://ddex.net/xml/ern/41 LatestDateForPhysicalReturns,omitempty"`
}
// A Composite containing details of a Descriptor that precedes the display artist name when multiple display artist names are given.
type Prefix struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// A Composite containing details of a preview.
type PreviewDetails struct {
TopLeftCorner TopLeftCorner `xml:"http://ddex.net/xml/ern/41 TopLeftCorner,omitempty"`
BottomRightCorner BottomRightCorner `xml:"http://ddex.net/xml/ern/41 BottomRightCorner,omitempty"`
ExpressionType ExpressionType `xml:"http://ddex.net/xml/avs/avs ExpressionType"`
}
// A Composite containing details of a Price.
type Price struct {
Value float64 `xml:",chardata"`
CurrencyCode CurrencyCode `xml:"CurrencyCode,attr"`
}
// May be one of StandardRetailPrice, PreOrderPrice
type PriceInformationType string
// A Composite containing details of a Price.
type PriceInformationWithType struct {
PriceCode PriceType `xml:"http://ddex.net/xml/ern/41 PriceCode,omitempty"`
WholesalePricePerUnit Price `xml:"http://ddex.net/xml/ern/41 WholesalePricePerUnit,omitempty"`
BulkOrderWholesalePricePerUnit Price `xml:"http://ddex.net/xml/ern/41 BulkOrderWholesalePricePerUnit,omitempty"`
SuggestedRetailPrice Price `xml:"http://ddex.net/xml/ern/41 SuggestedRetailPrice,omitempty"`
PriceType PriceInformationType `xml:"PriceType,attr,omitempty"`
}
// A Composite containing details of a PriceType.
type PriceType struct {
Value string `xml:",chardata"`
Namespace string `xml:"Namespace,attr"`
}
// May be one of AudioProduct, GraphicsProduct, MixedMediaBundleProduct, MobileProduct, UserDefined, VideoProduct
type ProductType string
// A Composite containing details of a PromotionalCode.
type PromotionalCode struct {
Value string `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
}
// A Composite containing details of a ProprietaryIdentifier.
type ProprietaryId struct {
Value string `xml:",chardata"`
Namespace string `xml:"Namespace,attr"`
}
type PurgeReleaseMessage struct {
MessageHeader MessageHeader `xml:"http://ddex.net/xml/ern/41 MessageHeader"`
PurgedRelease PurgedRelease `xml:"http://ddex.net/xml/ern/41 PurgedRelease"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr"`
}
// A Composite containing details of a DDEX Release to be purged.
type PurgedRelease struct {
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId,omitempty"`
Title []Title `xml:"http://ddex.net/xml/ern/41 Title,omitempty"`
Contributor []DetailedResourceContributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
}
// May be one of BackgroundMusic, ChannelTrailerMusic, Extract, FilmTrailerMusic, ForegroundMusic, TrailerMusic, UserDefined
type Purpose string
// A Composite containing details of a Raga.
type Raga struct {
Value string `xml:",chardata"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of ACMA, AFR, AGCOM, ANATEL, BBFC, BFCO, BFSC, BFVC, BMUKK, CBFC, CBSC, CBSC-F, CCC, CCE, CHVRS, CICF, CNA, CNC, CPBC, CSA, CSCF, DJCTQ, Eirin, ESRB, FAB, FCB, FCO, FILM-CH, FILM-CZ, FILM-EG, FILM-EE, FILM-GR, FILM-PE, FILM-SK, Filmtilsynet, FPB, FRB, FSK, ICAA, IFCO, IFCOF, INCAA, KFCB, Kijkwijzer, KMRB, KR, KRRIT, LSF, MBACT, MBU, MCCAA, MDA, MDCB, Medietilsynet, MEKU, MFCB, MIC, MKRF, MOC, MOC-TW, MPAA, MPAAT, MTRCB, NBC, NCS, NFRC, NFVCB, NICAM, NKC, OFLC, OFLC-NZ, OFRB, PEGI, RCNOF, RDCQ, RIAA, RTC, RTE, SBB, SiBCI, Smais, SM-SA, SPIO-JK, USFA, TELA, TVPG, UserDefined, VET
type RatingAgency string
// May be one of Behaviour, Blasphemy, Crime, DiscriminationOrPrejudice, Drugs, ExplicitSex, ExtremeViolence, FearOrHorror, Gambling, IllegalDrugs, Language, LegalDrugs, Nudity, OnlineGameplay, Sex, SexualViolence, Theme, Violence
type RatingReason string
// A Composite containing details of a Reason.
type Reason struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// Must match the pattern P[\d\-_a-zA-Z]+
type RecordCompanyPartyReference string
// May be one of BinauralAudio, LCR, Mono, MultichannelAudio, MultiTrack, Quad, Stems, Stereo, SurroundSound, Unknown
type RecordingMode string
// May be one of ReferenceResource, ConsumerResource
type ReferenceCreation string
// A Composite containing details of a PartyRelatedPartyReference for the case where one Party is related to another one.
type RelatedParty struct {
PartyRelatedPartyReference PartyRelatedPartyReference `xml:"http://ddex.net/xml/ern/41 PartyRelatedPartyReference"`
PartyRelationshipType PartyRelationshipType `xml:"http://ddex.net/xml/ern/41 PartyRelationshipType"`
}
// A Composite containing details of a Release (or a PhysicalProduct or a DigitalProduct derived from such a Release) which is related to a Resource, Release or Product.
type RelatedRelease struct {
ReleaseRelationshipType ReleaseRelationshipType `xml:"http://ddex.net/xml/ern/41 ReleaseRelationshipType"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName,omitempty"`
ReleaseLabelReference []ReleaseLabelReference `xml:"http://ddex.net/xml/ern/41 ReleaseLabelReference,omitempty"`
ReleaseDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 ReleaseDate,omitempty"`
OriginalReleaseDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 OriginalReleaseDate,omitempty"`
}
// A Composite containing details of a ResourceRelatedResourceReference for the case where one Resource is related to another one.
type RelatedResource struct {
ResourceRelationshipType ResourceRelationshipType `xml:"http://ddex.net/xml/avs/avs ResourceRelationshipType"`
ResourceRelatedResourceReference ResourceRelatedResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceRelatedResourceReference"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
Timing []Timing `xml:"http://ddex.net/xml/ern/41 Timing,omitempty"`
}
// May be one of EqualTo, LessThan, LessThanOrEqualTo, MoreThan, MoreThanOrEqualTo, NotEqualTo
type RelationalRelator string
// A Composite containing details of a DDEX Release.
type Release struct {
ReleaseReference ReleaseReference `xml:"http://ddex.net/xml/ern/41 ReleaseReference"`
ReleaseType []ReleaseTypeForReleaseNotification `xml:"http://ddex.net/xml/ern/41 ReleaseType"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist"`
ReleaseLabelReference []ReleaseLabelReference `xml:"http://ddex.net/xml/ern/41 ReleaseLabelReference"`
AdministratingRecordCompany []AdministratingRecordCompanyWithReference `xml:"http://ddex.net/xml/ern/41 AdministratingRecordCompany,omitempty"`
PLine []PLineWithDefault `xml:"http://ddex.net/xml/ern/41 PLine,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
Genre []GenreWithTerritory `xml:"http://ddex.net/xml/ern/41 Genre"`
ReleaseDate []EventDateWithDefault `xml:"http://ddex.net/xml/ern/41 ReleaseDate,omitempty"`
OriginalReleaseDate []EventDateWithDefault `xml:"http://ddex.net/xml/ern/41 OriginalReleaseDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType"`
AvRating []AvRating `xml:"http://ddex.net/xml/ern/41 AvRating,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
IsCompilation bool `xml:"http://ddex.net/xml/ern/41 IsCompilation"`
IsMultiArtistCompilation bool `xml:"http://ddex.net/xml/ern/41 IsMultiArtistCompilation"`
ResourceGroup ResourceGroup `xml:"http://ddex.net/xml/ern/41 ResourceGroup"`
ExternalResourceLink []ExternalResourceLink `xml:"http://ddex.net/xml/ern/41 ExternalResourceLink,omitempty"`
Keywords []KeywordsWithTerritory `xml:"http://ddex.net/xml/ern/41 Keywords,omitempty"`
Synopsis []SynopsisWithTerritory `xml:"http://ddex.net/xml/ern/41 Synopsis,omitempty"`
Raga []Raga `xml:"http://ddex.net/xml/ern/41 Raga,omitempty"`
Tala []Tala `xml:"http://ddex.net/xml/ern/41 Tala,omitempty"`
Deity []Deity `xml:"http://ddex.net/xml/ern/41 Deity,omitempty"`
HiResMusicDescription string `xml:"http://ddex.net/xml/ern/41 HiResMusicDescription,omitempty"`
IsSoundtrack bool `xml:"http://ddex.net/xml/ern/41 IsSoundtrack,omitempty"`
IsHiResMusic bool `xml:"http://ddex.net/xml/ern/41 IsHiResMusic,omitempty"`
MarketingComment []MarketingComment `xml:"http://ddex.net/xml/ern/41 MarketingComment,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
}
// A Composite containing details of one or more Deals pertaining to one or more Releases.
type ReleaseDeal struct {
DealReleaseReference []DealReleaseReference `xml:"http://ddex.net/xml/ern/41 DealReleaseReference"`
Deal []Deal `xml:"http://ddex.net/xml/ern/41 Deal"`
}
// A Composite containing details of a ReleaseId. If available, a GRid should always to be used. If the Release contains only one SoundRecording, the ISRC of the SoundRecording may be used instead. If the Release is an abstraction of a complete PhysicalProduct (such as a CD Album), the ICPN of the PhysicalProduct may be used instead.
type ReleaseId struct {
GRid string `xml:"http://ddex.net/xml/ern/41 GRid,omitempty"`
ISRC string `xml:"http://ddex.net/xml/ern/41 ISRC,omitempty"`
ICPN string `xml:"http://ddex.net/xml/ern/41 ICPN,omitempty"`
CatalogNumber CatalogNumber `xml:"http://ddex.net/xml/ern/41 CatalogNumber,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
}
// A Composite containing details of a Reference to a label of a specific Release.
type ReleaseLabelReference struct {
DdexLocalPartyAnchorReference DdexLocalPartyAnchorReference `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
LabelType LabelType `xml:"LabelType,attr,omitempty"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
}
// A Composite containing details of one or more Releases.
type ReleaseList struct {
Release Release `xml:"http://ddex.net/xml/ern/41 Release,omitempty"`
TrackRelease []TrackRelease `xml:"http://ddex.net/xml/ern/41 TrackRelease,omitempty"`
}
// May be one of BoxedSet, BoxedSet Classical, Classical
type ReleaseProfileVariantVersionId string
// May be one of Audio, DjMix, LongFormMusicalWorkVideo, MixedMedia, Ringtone, SimpleAudioSingle, SimpleVideoSingle, Video
type ReleaseProfileVersionId string
// Must match the pattern R[\d\-_a-zA-Z]+
type ReleaseReference string
// May be one of HasArtistFromEnsemble, HasArtistFromSameEnsemble, HasContentFrom, HasEnsembleWithArtist, HasSameArtist, HasSameRecordingProject, HasSimilarContent, IsDigitalEquivalentToPhysical, IsEquivalentToAudio, IsEquivalentToVideo, IsExtendedFromAlbum, IsFromAudio, IsFromVideo, IsParentRelease, IsPhysicalEquivalentToDigital, IsReleaseFromRelease, IsShortenedFromAlbum, Unknown, UserDefined
type ReleaseRelationshipType string
// Must match the pattern A[\d\-_a-zA-Z]+
type ReleaseResourceReference string
// May be one of Album, AlertToneRelease, AsPerContract, AudioBookRelease, BackCoverImageRelease, BookletBackImageRelease, BookletFrontImageRelease, BookletRelease, Bundle, ClassicalAlbum, ClassicalDigitalBoxedSet, ClassicalMultimediaAlbum, ConcertVideo, DigitalBoxSetRelease, DjMix, Documentary, EBookRelease, EP, Episode, FeatureFilm, KaraokeRelease, LiveEventVideo, LogoRelease, LongFormMusicalWorkVideoRelease, LongFormNonMusicalWorkVideoRelease, LyricSheetRelease, MultimediaAlbum, MultimediaDigitalBoxedSet, MultimediaSingle, MusicalWorkBasedGameRelease, NonMusicalWorkBasedGameRelease, PlayList, RingbackToneRelease, RingtoneRelease, Season, Series, SheetMusicRelease, Single, SingleResourceRelease, StemBundle, UserDefined, VideoAlbum, VideoMastertoneRelease, VideoSingle, WallpaperRelease
type ReleaseTypeERN4 string
// A Composite containing details of a ReleaseType.
type ReleaseTypeForReleaseNotification struct {
ReleaseTypeERN4 ReleaseTypeERN4 `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// Must match the pattern A[\d\-_a-zA-Z]+
type RepresentativeImageReference string
// Must match the pattern A[\d\-_a-zA-Z]+
type ResourceContainedResourceReference string
// A Composite containing details of one or more ResourceContainedResourceReferences.
type ResourceContainedResourceReferenceList struct {
ResourceContainedResourceReference []ResourceContainedResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceContainedResourceReference"`
}
// May be one of Accompanyist, Actor, AdditionalEngineer, AdditionalMixingEngineer, AdditionalPerformer, AdditionalProgrammingEngineer, AdditionalStudioProducer, AnchorPerson, AnimalTrainer, Animator, Annotator, Announcer, AAndRAdministrator, AAndRCoordinator, Armourer, ArtCopyist, ArtDirector, Artist, ArtistBackgroundVocalEngineer, ArtistVocalEngineer, ArtistVocalSecondEngineer, AssistantCameraOperator, AssistantChiefLightingTechnician, AssistantConductor, AssistantDirector, AssistantEditor, AssistantEngineer, AssistantProducer, AssistantVisualEditor, AssociatedPerformer, AssociateProducer, AuralTrainer, BackgroundVocalist, BalanceEngineer, BandLeader, Binder, BindingDesigner, BookDesigner, BookjackDesigner, BookplateDesigner, BookProducer, BroadcastAssistant, BroadcastJournalist, Calligrapher, CameraOperator, Carpenter, Cartographer, Cartoonist, CastingDirector, Causeur, Censor, ChiefLightingTechnician, Choir, ChoirMember, Choreographer, ChorusMaster, CircusArtist, ClapperLoader, ClubDJ, CoDirector, CoExecutiveProducer, ColorSeparator, Comedian, CoMixer, CoMixingEngineer, Commentator, CommissioningBroadcaster, CompilationProducer, ComputerGraphicCreator, ComputerProgrammer, ConcertMaster, Conductor, Consultant, ContinuityChecker, Contractor, CoProducer, Correspondent, CostumeDesigner, CoverDesigner, Dancer, Delineator, Designer, DialogueCoach, DialogueDirector, DigitalAudioWorkstationEngineer, DigitalEditingEngineer, DigitalEditingSecondEngineer, Director, DirectStreamDigitalEngineer, DistributionCompany, DJ, Draughtsman, Dresser, Dubber, Editor, EditorInChief, EditorOfTheDay, Encoder, Engineer, Ensemble, ExecutiveProducer, Expert, Facsimilist, FightDirector, FilmDirector, FilmDistributor, FilmEditor, FilmProducer, FilmSoundEngineer, FloorManager, FocusPuller, FoleyArtist, FoleyEditor, FoleyMixer, GraphicArtist, GraphicAssistant, GraphicDesigner, Greensman, Grip, GuestConductor, GroupMember, Hairdresser, Illustrator, InitialProducer, InterviewedGuest, Interviewer, KeyCharacter, KeyGrip, KeyTalent, Leadman, LeadPerformer, LeadVocalist, LightingDirector, LightingTechnician, LocationManager, MakeUpArtist, Manufacturer, MasteringEngineer, MasteringSecondEngineer, MatteArtist, Mixer, MixingEngineer, MixingSecondEngineer, MusicArranger, MusicCopyist, MusicDirector, MusicGroup, Musician, Narrator, NewsProducer, NewsReader, NotSpecified, Orchestra, OrchestraMember, OriginalArtist, OverdubEngineer, OverdubSecondEngineer, Painter, Photographer, PhotographyDirector, PlaybackSinger, PostProducer, PreProduction, PreProductionEngineer, PreProductionSecondEngineer, PrimaryMusician, ProductionAssistant, ProductionCompany, ProductionCoordinator, ProductionDepartment, ProductionManager, ProductionSecretary, ProjectEngineer, Programmer, ProgrammingEngineer, ProgramProducer, PropertyManager, PublishingDirector, Puppeteer, Pyrotechnician, RecordingEngineer, RecordingSecondEngineer, Redactor, ReissueProducer, RemixedArtist, Remixer, RemixingEngineer, RemixingSecondEngineer, Repetiteur, Researcher, ResearchTeamHead, ResearchTeamMember, Restager, Rigger, RightsControllerOnProduct, Runner, ScenicOperative, ScientificAdvisor, ScriptSupervisor, SecondAssistantCameraOperator, SecondAssistantDirector, SecondConductor, SecondEngineer, SecondUnitDirector, SeriesProducer, SetDesigner, SetDresser, SignLanguageInterpreter, Soloist, SoundDesigner, SoundMixer, SoundRecordist, SoundSupervisor, Speaker, SpecialEffectsTechnician, Sponsor, StageAssistantEngineer, StageDirector, StageEngineer, StoryTeller, StringEngineer, StringProducer, StringsDirector, StudioConductor, StudioMusician, StudioPersonnel, StudioProducer, Stunts, SubtitlesEditor, SubtitlesTranslator, SupportingActor, SurroundMixingEngineer, SurroundMixingSecondEngineer, TapeOperator, TechnicalDirector, Tonmeister, TrackingEngineer, TrackingSecondEngineer, TransfersAndSafetiesEngineer, TransfersAndSafetiesSecondEngineer, TransportationManager, Treatment/ProgramProposal, TypeDesigner, Unknown, UserDefined, VideoDirector, Videographer, VideoMusicalDirector, VideoProducer, VisionMixer, VisualEditor, VisualEffectsTechnician, VocalArranger, VocalEditingEngineer, VocalEditingSecondEngineer, VocalEngineer, VocalSecondEngineer, VocalProducer, VoiceActor, Wardrobe
type ResourceContributorRole string
// A Composite containing details of a ResourceGroup. ResourceGroups are used to signal groupings or sequences of Resources within a Release. Examples include individual Carriers in a multi-carrier Release or classical Work groupings as well as the default order of Resources within a Release.
type ResourceGroup struct {
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
SequenceNumber int `xml:"http://ddex.net/xml/ern/41 SequenceNumber,omitempty"`
NoDisplaySequence bool `xml:"http://ddex.net/xml/ern/41 NoDisplaySequence"`
DisplaySequence string `xml:"http://ddex.net/xml/ern/41 DisplaySequence"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
CarrierType []CarrierType `xml:"http://ddex.net/xml/ern/41 CarrierType,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
ResourceGroupReleaseReference ResourceGroupReleaseReference `xml:"http://ddex.net/xml/ern/41 ResourceGroupReleaseReference"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
ResourceGroup []ResourceSubGroup `xml:"http://ddex.net/xml/ern/41 ResourceGroup,omitempty"`
ResourceGroupContentItem []ResourceGroupContentItem `xml:"http://ddex.net/xml/ern/41 ResourceGroupContentItem,omitempty"`
LinkedReleaseResourceReference []LinkedReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 LinkedReleaseResourceReference,omitempty"`
}
// A Composite containing details of a Resource which is a ContentItem of a ResourceGroup.
type ResourceGroupContentItem struct {
SequenceNumber int `xml:"http://ddex.net/xml/ern/41 SequenceNumber,omitempty"`
NoDisplaySequence bool `xml:"http://ddex.net/xml/ern/41 NoDisplaySequence"`
DisplaySequence string `xml:"http://ddex.net/xml/ern/41 DisplaySequence"`
ReleaseResourceReference ReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 ReleaseResourceReference"`
LinkedReleaseResourceReference []LinkedReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 LinkedReleaseResourceReference,omitempty"`
IsBonusResource bool `xml:"http://ddex.net/xml/ern/41 IsBonusResource,omitempty"`
IsInstantGratificationResource bool `xml:"http://ddex.net/xml/ern/41 IsInstantGratificationResource,omitempty"`
IsPreOrderIncentiveResource bool `xml:"http://ddex.net/xml/ern/41 IsPreOrderIncentiveResource,omitempty"`
}
// Must match the pattern R[\d\-_a-zA-Z]+
type ResourceGroupReleaseReference string
// May be one of Component, ComponentRelease, MultiWorkPart, ReleaseComponent, Side
type ResourceGroupType string
// A Composite containing details of ResourceIds.
type ResourceId struct {
ISRC string `xml:"http://ddex.net/xml/ern/41 ISRC,omitempty"`
ISMN string `xml:"http://ddex.net/xml/ern/41 ISMN,omitempty"`
ISAN string `xml:"http://ddex.net/xml/ern/41 ISAN,omitempty"`
VISAN string `xml:"http://ddex.net/xml/ern/41 VISAN,omitempty"`
ISBN string `xml:"http://ddex.net/xml/ern/41 ISBN,omitempty"`
ISSN string `xml:"http://ddex.net/xml/ern/41 ISSN,omitempty"`
SICI string `xml:"http://ddex.net/xml/ern/41 SICI,omitempty"`
CatalogNumber CatalogNumber `xml:"http://ddex.net/xml/ern/41 CatalogNumber,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// A Composite containing details of one or more Resources. ResourceList provides a simple means of aggregating Resources without any explicit sequencing or grouping: if that is needed it is provided by the ResourceGroup Composite.
type ResourceList struct {
SoundRecording []SoundRecording `xml:"http://ddex.net/xml/ern/41 SoundRecording,omitempty"`
Video []Video `xml:"http://ddex.net/xml/ern/41 Video,omitempty"`
Image []Image `xml:"http://ddex.net/xml/ern/41 Image,omitempty"`
Text []Text `xml:"http://ddex.net/xml/ern/41 Text,omitempty"`
SheetMusic []SheetMusic `xml:"http://ddex.net/xml/ern/41 SheetMusic,omitempty"`
Software []Software `xml:"http://ddex.net/xml/ern/41 Software,omitempty"`
}
// A Composite containing details of ProprietaryIdentifiers of a Resource.
type ResourceProprietaryId struct {
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// Must match the pattern A[\d\-_a-zA-Z]+
type ResourceReference string
// Must match the pattern A[\d\-_a-zA-Z]+
type ResourceRelatedResourceReference string
// May be one of HasContentFrom, IsPartOf
type ResourceRelationshipType string
// Must match the pattern R[\d\-_a-zA-Z]+
type ResourceReleaseReference string
// A Composite containing details of a RightsController for a Resource. RightsControllers are typically described by Name, Identifier and Role(s).
type ResourceRightsController struct {
PartyId []DetailedPartyId `xml:"http://ddex.net/xml/ern/41 PartyId,omitempty"`
PartyName []PartyName `xml:"http://ddex.net/xml/ern/41 PartyName"`
RightsControllerRole []RightsControllerRole `xml:"http://ddex.net/xml/avs/avs RightsControllerRole,omitempty"`
RightShareUnknown bool `xml:"http://ddex.net/xml/ern/41 RightShareUnknown"`
RightSharePercentage Percentage `xml:"http://ddex.net/xml/ern/41 RightSharePercentage"`
DelegatedUsageRights []DelegatedUsageRights `xml:"http://ddex.net/xml/ern/41 DelegatedUsageRights"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// A Composite containing details of a ResourceGroup that is contained in another ResourceGroup.
type ResourceSubGroup struct {
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
SequenceNumber int `xml:"http://ddex.net/xml/ern/41 SequenceNumber,omitempty"`
NoDisplaySequence bool `xml:"http://ddex.net/xml/ern/41 NoDisplaySequence"`
DisplaySequence string `xml:"http://ddex.net/xml/ern/41 DisplaySequence"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
CarrierType []CarrierType `xml:"http://ddex.net/xml/ern/41 CarrierType,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
ResourceGroupReleaseReference ResourceGroupReleaseReference `xml:"http://ddex.net/xml/ern/41 ResourceGroupReleaseReference"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
ResourceGroup []ResourceSubGroup `xml:"http://ddex.net/xml/ern/41 ResourceGroup,omitempty"`
ResourceGroupContentItem []ResourceGroupContentItem `xml:"http://ddex.net/xml/ern/41 ResourceGroupContentItem,omitempty"`
LinkedReleaseResourceReference []LinkedReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 LinkedReleaseResourceReference,omitempty"`
ResourceGroupType ResourceGroupType `xml:"ResourceGroupType,attr"`
}
// A Composite containing details of a rights claim policy.
type RightsClaimPolicy struct {
Condition []ConditionForRightsClaimPolicy `xml:"http://ddex.net/xml/ern/41 Condition,omitempty"`
RightsClaimPolicyType RightsClaimPolicyType `xml:"http://ddex.net/xml/avs/avs RightsClaimPolicyType"`
}
// May be one of ReportUsage, BlockAccess, Monetize
type RightsClaimPolicyType string
// Must match the pattern P[\d\-_a-zA-Z]+
type RightsControllerPartyReference string
// May be one of AdministratingRecordCompany, RightsAdministrator, RightsController, RoyaltyAdministrator, Unknown
type RightsControllerRole string
// May be one of OriginalOwner, SuccessorInTitle, ExclusiveLicensee
type RightsControllerType string
// May be one of MakeAvailableRight, MechanicalRight, PerformingRight, PrintRight, ReproductionRight, SynchronizationRight, UserDefined
type RightsCoverage string
// A Composite containing a SamplingRate and a UnitOfMeasure.
type SamplingRate struct {
Value float64 `xml:",chardata"`
UnitOfMeasure UnitOfFrequency `xml:"UnitOfMeasure,attr,omitempty"`
}
// May be one of ArtistVocals, Demo, DigitalEditing, Editing, LivePerformance, Mastering, Mixing, Overdub, PreProduction, Preservation, Production, Project, Remixing, Tracking, Transfer, TransfersAndSafeties, Vocal
type SessionType string
// A Composite containing details of a SheetMusic.
type SheetMusic struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type SheetMusicType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []SheetMusicId `xml:"http://ddex.net/xml/ern/41 ResourceId"`
WorkId []MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
FirstPublicationDate []FulfillmentDateWithTerritory `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
LanguageOfLyrics IsoLanguageCode `xml:"http://ddex.net/xml/avs/avs LanguageOfLyrics,omitempty"`
ResourceContainedResourceReferenceList ResourceContainedResourceReferenceList `xml:"http://ddex.net/xml/ern/41 ResourceContainedResourceReferenceList,omitempty"`
TechnicalDetails []TechnicalSheetMusicDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// A Composite containing details of a SheetMusicCodecType.
type SheetMusicCodecType struct {
Value string `xml:",chardata"`
Version string `xml:"Version,attr,omitempty"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of Identifiers of a SheetMusic.
type SheetMusicId struct {
ISMN string `xml:"http://ddex.net/xml/ern/41 ISMN,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// A Composite containing details of a SheetMusicType.
type SheetMusicType struct {
Value string `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of a RightsType.
type SimpleRightsType struct {
RightsCoverage RightsCoverage `xml:",chardata"`
Namespace string `xml:"Namespace,attr,omitempty"`
UserDefinedValue string `xml:"UserDefinedValue,attr,omitempty"`
}
// A Composite containing details of an item of Software.
type Software struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type SoftwareType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []ResourceProprietaryId `xml:"http://ddex.net/xml/ern/41 ResourceId"`
WorkId []MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName,omitempty"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
PLine []PLineWithDefault `xml:"http://ddex.net/xml/ern/41 PLine,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
FirstPublicationDate []FulfillmentDateWithTerritory `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
ResourceContainedResourceReferenceList ResourceContainedResourceReferenceList `xml:"http://ddex.net/xml/ern/41 ResourceContainedResourceReferenceList,omitempty"`
Keywords []KeywordsWithTerritory `xml:"http://ddex.net/xml/ern/41 Keywords,omitempty"`
Synopsis []SynopsisWithTerritory `xml:"http://ddex.net/xml/ern/41 Synopsis,omitempty"`
TechnicalDetails []TechnicalSoftwareDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// May be one of InteractiveBooklet, MusicalWorkBasedGame, NonMusicalWorkBasedGame, Screensaver, Unknown, UserDefined
type SoftwareType string
// A Composite containing details of a SoundRecording.
type SoundRecording struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type SoundRecordingType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []SoundRecordingId `xml:"http://ddex.net/xml/ern/41 ResourceId"`
WorkId []MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
Character []Character `xml:"http://ddex.net/xml/ern/41 Character,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
PLine []PLineWithDefault `xml:"http://ddex.net/xml/ern/41 PLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
MasteredDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 MasteredDate,omitempty"`
RemasteredDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 RemasteredDate,omitempty"`
FirstPublicationDate []FirstPublicationDate `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
CompositeMusicalWorkType CompositeMusicalWorkType `xml:"http://ddex.net/xml/avs/avs CompositeMusicalWorkType,omitempty"`
IsInstrumental bool `xml:"http://ddex.net/xml/ern/41 IsInstrumental,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
IsRemastered bool `xml:"http://ddex.net/xml/ern/41 IsRemastered,omitempty"`
IsHiResMusic bool `xml:"http://ddex.net/xml/ern/41 IsHiResMusic,omitempty"`
DisplayCredits []DisplayCredits `xml:"http://ddex.net/xml/ern/41 DisplayCredits,omitempty"`
LanguageOfPerformance []IsoLanguageCode `xml:"http://ddex.net/xml/avs/avs LanguageOfPerformance,omitempty"`
AudioChannelConfiguration RecordingMode `xml:"http://ddex.net/xml/avs/avs AudioChannelConfiguration,omitempty"`
TechnicalDetails []TechnicalSoundRecordingDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
Raga []Raga `xml:"http://ddex.net/xml/ern/41 Raga,omitempty"`
Tala []Tala `xml:"http://ddex.net/xml/ern/41 Tala,omitempty"`
Deity []Deity `xml:"http://ddex.net/xml/ern/41 Deity,omitempty"`
AudioChapterReference []AudioChapterReference `xml:"http://ddex.net/xml/ern/41 AudioChapterReference,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// A Composite containing details of SoundRecordingIds.
type SoundRecordingId struct {
ISRC string `xml:"http://ddex.net/xml/ern/41 ISRC,omitempty"`
CatalogNumber CatalogNumber `xml:"http://ddex.net/xml/ern/41 CatalogNumber,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// A Composite containing details of a preview.
type SoundRecordingPreviewDetails struct {
StartPoint float64 `xml:"http://ddex.net/xml/ern/41 StartPoint,omitempty"`
EndPoint float64 `xml:"http://ddex.net/xml/ern/41 EndPoint,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
TopLeftCorner TopLeftCorner `xml:"http://ddex.net/xml/ern/41 TopLeftCorner,omitempty"`
BottomRightCorner BottomRightCorner `xml:"http://ddex.net/xml/ern/41 BottomRightCorner,omitempty"`
ExpressionType ExpressionType `xml:"http://ddex.net/xml/avs/avs ExpressionType"`
}
// May be one of MusicalWorkReadalongSoundRecording, MusicalWorkSoundRecording, NonMusicalWorkReadalongSoundRecording, NonMusicalWorkSoundRecording, SpokenWordSoundRecording, Unknown, UserDefined
type SoundRecordingType string
// May be one of AssetsNeeded, AwaitingMaterials, BackedUp, Canceled, Closed, Completed, InWork, NotStarted, UserDefined, Verified
type Status string
// May be one of Location, Version
type SubTitleType string
// A Composite containing details of one or more supplemental documents.
type SupplementalDocumentList struct {
SupplementalDocument []File `xml:"http://ddex.net/xml/ern/41 SupplementalDocument"`
}
// May be one of DeliveredToReleaseDistributor, InDeliveryToReleaseDistributor, InPreparationForDeliveryToReleaseDistributor, OrderPlacedForReleaseDistributor, ProcessingErrorAtReleaseCreator, ProcessingErrorAtReleaseDistributor, ReleaseMadeAvailableToConsumers, ReleaseNotAvailable, ReleaseReceivedByReleaseDistributor, ReleaseStagedForPublication, SuccessfullyIngestedByReleaseDistributor, UserDefined
type SupplyChainStatus string
// A Composite containing details of a Synopsis.
type SynopsisWithTerritory struct {
Value string `xml:",chardata"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
IsShortSynopsis bool `xml:"IsShortSynopsis,attr,omitempty"`
}
// A Composite containing details of a Tala.
type Tala struct {
Value string `xml:",chardata"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing technical details of an Image.
type TechnicalImageDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
ImageCodecType ImageCodecType `xml:"http://ddex.net/xml/ern/41 ImageCodecType,omitempty"`
ImageHeight Extent `xml:"http://ddex.net/xml/ern/41 ImageHeight,omitempty"`
ImageWidth Extent `xml:"http://ddex.net/xml/ern/41 ImageWidth,omitempty"`
AspectRatio AspectRatio `xml:"http://ddex.net/xml/ern/41 AspectRatio,omitempty"`
ColorDepth int `xml:"http://ddex.net/xml/ern/41 ColorDepth,omitempty"`
ImageResolution int `xml:"http://ddex.net/xml/ern/41 ImageResolution,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails PreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// Must match the pattern T[\d\-_a-zA-Z]+
type TechnicalResourceDetailsReference string
// A Composite containing technical details of a SheetMusic.
type TechnicalSheetMusicDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
SheetMusicCodecType SheetMusicCodecType `xml:"http://ddex.net/xml/ern/41 SheetMusicCodecType,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails PreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing technical details of a Software.
type TechnicalSoftwareDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
OperatingSystemType OperatingSystemType `xml:"http://ddex.net/xml/ern/41 OperatingSystemType,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails PreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing technical details of a SoundRecording.
type TechnicalSoundRecordingDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
AudioCodecType AudioCodecType `xml:"http://ddex.net/xml/ern/41 AudioCodecType,omitempty"`
BitRate BitRate `xml:"http://ddex.net/xml/ern/41 BitRate,omitempty"`
OriginalBitRate BitRate `xml:"http://ddex.net/xml/ern/41 OriginalBitRate,omitempty"`
NumberOfChannels int `xml:"http://ddex.net/xml/ern/41 NumberOfChannels,omitempty"`
SamplingRate SamplingRate `xml:"http://ddex.net/xml/ern/41 SamplingRate,omitempty"`
OriginalSamplingRate SamplingRate `xml:"http://ddex.net/xml/ern/41 OriginalSamplingRate,omitempty"`
BitsPerSample int `xml:"http://ddex.net/xml/ern/41 BitsPerSample,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails SoundRecordingPreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing technical details of a Text.
type TechnicalTextDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
TextCodecType TextCodecType `xml:"http://ddex.net/xml/ern/41 TextCodecType,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails PreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// A Composite containing technical details of a Video.
type TechnicalVideoDetails struct {
TechnicalResourceDetailsReference TechnicalResourceDetailsReference `xml:"http://ddex.net/xml/ern/41 TechnicalResourceDetailsReference"`
OverallBitRate BitRate `xml:"http://ddex.net/xml/ern/41 OverallBitRate,omitempty"`
ContainerFormat ContainerFormat `xml:"http://ddex.net/xml/ern/41 ContainerFormat,omitempty"`
VideoCodecType VideoCodecType `xml:"http://ddex.net/xml/ern/41 VideoCodecType,omitempty"`
VideoBitRate BitRate `xml:"http://ddex.net/xml/ern/41 VideoBitRate,omitempty"`
FrameRate FrameRate `xml:"http://ddex.net/xml/ern/41 FrameRate,omitempty"`
ImageHeight Extent `xml:"http://ddex.net/xml/ern/41 ImageHeight,omitempty"`
ImageWidth Extent `xml:"http://ddex.net/xml/ern/41 ImageWidth,omitempty"`
AspectRatio AspectRatio `xml:"http://ddex.net/xml/ern/41 AspectRatio,omitempty"`
CoreArea CoreArea `xml:"http://ddex.net/xml/ern/41 CoreArea,omitempty"`
ColorDepth int `xml:"http://ddex.net/xml/ern/41 ColorDepth,omitempty"`
VideoDefinitionType VideoDefinitionType `xml:"http://ddex.net/xml/avs/avs VideoDefinitionType,omitempty"`
AudioCodecType AudioCodecType `xml:"http://ddex.net/xml/ern/41 AudioCodecType,omitempty"`
AudioBitRate BitRate `xml:"http://ddex.net/xml/ern/41 AudioBitRate,omitempty"`
NumberOfAudioChannels int `xml:"http://ddex.net/xml/ern/41 NumberOfAudioChannels,omitempty"`
AudioSamplingRate SamplingRate `xml:"http://ddex.net/xml/ern/41 AudioSamplingRate,omitempty"`
AudioBitsPerSample int `xml:"http://ddex.net/xml/ern/41 AudioBitsPerSample,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration,omitempty"`
BitDepth int `xml:"http://ddex.net/xml/ern/41 BitDepth,omitempty"`
IsPreview bool `xml:"http://ddex.net/xml/ern/41 IsPreview,omitempty"`
PreviewDetails SoundRecordingPreviewDetails `xml:"http://ddex.net/xml/ern/41 PreviewDetails,omitempty"`
File File `xml:"http://ddex.net/xml/ern/41 File,omitempty"`
Fingerprint []Fingerprint `xml:"http://ddex.net/xml/ern/41 Fingerprint,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
ApplicableTerritoryCode CurrentTerritoryCode `xml:"ApplicableTerritoryCode,attr,omitempty"`
IsDefault bool `xml:"IsDefault,attr,omitempty"`
}
// May be one of ISO, TIS
type TerritoryCodeType string
// May be one of DeprecatedISO, ISO, TIS
type TerritoryCodeTypeIncludingDeprecatedCodes string
// A Composite containing details of a Text.
type Text struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type TextType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []TextId `xml:"http://ddex.net/xml/ern/41 ResourceId,omitempty"`
WorkId []MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName,omitempty"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist,omitempty"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
FirstPublicationDate []FulfillmentDateWithTerritory `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
ResourceContainedResourceReferenceList ResourceContainedResourceReferenceList `xml:"http://ddex.net/xml/ern/41 ResourceContainedResourceReferenceList,omitempty"`
Keywords []KeywordsWithTerritory `xml:"http://ddex.net/xml/ern/41 Keywords,omitempty"`
Synopsis []SynopsisWithTerritory `xml:"http://ddex.net/xml/ern/41 Synopsis,omitempty"`
TechnicalDetails []TechnicalTextDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// May be one of ASCII, EBU-TT, HTML, OOXML, PDF, PostScript, RTF, SRT, TTML, Unknown, UserDefined, VTT
type TextCodecType string
// A Composite containing details of Identifiers of a Text.
type TextId struct {
ISBN string `xml:"http://ddex.net/xml/ern/41 ISBN,omitempty"`
ISSN string `xml:"http://ddex.net/xml/ern/41 ISSN,omitempty"`
SICI string `xml:"http://ddex.net/xml/ern/41 SICI,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// May be one of Caption, EBook, LinerNotes, LyricText, NonInteractiveBooklet, TextDocument, Unknown, UserDefined
type TextType string
// May be one of text, html, xhtml
type TextTypeATOM string
// May be one of ClosingTheme, MainTheme, OpeningTheme, SegmentTheme, TitleTheme, UserDefined
type ThemeType string
// May be one of FSK, MIDI, SMPTE, VITC
type TimecodeType string
// A Composite containing details of a StartTime and a Duration of a Resource.
type Timing struct {
StartPoint string `xml:"http://ddex.net/xml/ern/41 StartPoint,omitempty"`
DurationUsed string `xml:"http://ddex.net/xml/ern/41 DurationUsed,omitempty"`
}
// May be one of 4, 8, 12, 20, 24, 28, 31, 32, 36, 40, 44, 48, 50, 51, 52, 56, 64, 68, 70, 72, 76, 84, 90, 96, 100, 104, 108, 112, 116, 120, 124, 132, 140, 144, 148, 152, 156, 158, 170, 174, 178, 180, 188, 191, 192, 196, 200, 203, 204, 208, 212, 214, 218, 222, 226, 230, 231, 232, 233, 242, 246, 250, 258, 262, 266, 268, 270, 276, 278, 280, 288, 296, 300, 308, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 398, 400, 404, 408, 410, 414, 417, 418, 422, 426, 428, 430, 434, 438, 440, 442, 450, 454, 458, 462, 466, 470, 478, 480, 484, 492, 496, 498, 499, 504, 508, 512, 516, 520, 524, 528, 540, 548, 554, 558, 562, 566, 578, 583, 584, 585, 586, 591, 598, 600, 604, 608, 616, 620, 624, 626, 630, 634, 642, 643, 646, 659, 662, 670, 674, 678, 682, 686, 688, 690, 694, 702, 703, 704, 705, 706, 710, 716, 720, 724, 728, 729, 732, 736, 740, 748, 752, 756, 760, 762, 764, 768, 776, 780, 784, 788, 792, 795, 798, 800, 804, 807, 810, 818, 826, 834, 840, 854, 858, 860, 862, 882, 886, 887, 890, 891, 894, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2136
type TisTerritoryCode string
// A Composite containing details of a Title.
type Title struct {
TitleText string `xml:"http://ddex.net/xml/ern/41 TitleText"`
SubTitle string `xml:"http://ddex.net/xml/ern/41 SubTitle,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
TitleType TitleType `xml:"TitleType,attr,omitempty"`
}
// A Composite containing information on how a RecordCompany wishes Artist information to be presented to Consumers as part of the Title (and in addition to displaying the DisplayArtist information).
type TitleDisplayInformation struct {
IsDisplayedInTitle bool `xml:"http://ddex.net/xml/ern/41 IsDisplayedInTitle"`
Prefix []Prefix `xml:"http://ddex.net/xml/ern/41 Prefix,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
SequenceNumber int `xml:"SequenceNumber,attr,omitempty"`
}
// May be one of AbbreviatedDisplayTitle, AlternativeTitle, DisplayTitle, FirstLineOfText FirstLineOfText, FormalTitle, GroupingTitle, IncorrectTitle, MisspelledTitle, OriginalTitle, SearchTitle, SortingTitle, TitleAsPart, TitleWithoutPunctuation, TranslatedTitle, Unknown, UserDefined
type TitleType string
// Must match the pattern [0-9]+,[0-9]+
type TopLeftCorner string
// A Composite containing details of a DDEX Release.
type TrackRelease struct {
ReleaseReference ReleaseReference `xml:"http://ddex.net/xml/ern/41 ReleaseReference"`
ReleaseId ReleaseId `xml:"http://ddex.net/xml/ern/41 ReleaseId"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText,omitempty"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle,omitempty"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
ReleaseResourceReference ReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 ReleaseResourceReference"`
LinkedReleaseResourceReference []LinkedReleaseResourceReference `xml:"http://ddex.net/xml/ern/41 LinkedReleaseResourceReference,omitempty"`
ReleaseLabelReference []ReleaseLabelReference `xml:"http://ddex.net/xml/ern/41 ReleaseLabelReference"`
Genre []GenreWithTerritory `xml:"http://ddex.net/xml/ern/41 Genre"`
MarketingComment []MarketingComment `xml:"http://ddex.net/xml/ern/41 MarketingComment,omitempty"`
IsMainRelease bool `xml:"IsMainRelease,attr,omitempty"`
}
// May be one of AlignmentTones, AnalogToDigitalConverter, BitDepth, Cartridge, NumberOfChannels, ClockSource, MaterialCondition, ConversionReferenceLevel, Emphasis, MicPreamp, NoiseReduction, PhonoPreamp, ReferenceClock, ReferenceTones, SamplingRate, Side1Condition, Side2Condition, NumberOfSides, SmpteFrameRate, SourceMachine, Speed, Storage, Stylus, StylusSize, TapeBakedDate, TapeBakedEquipment, TapeBakedHours, TapeBakedTemperature, TapeCoolHours, Tonearm, TrackConfiguration, NumberOfTracks, TransferSoftware
type TransferCategory string
// May be one of AnalogToAnalog, AnalogToDigital, DigitalCopy, DigitalToAnalog, DigitalToDigital
type TransferType string
// May be one of bps, Gbps, kbps, Mbps
type UnitOfBitRate string
// May be one of Millisecond, Minute, Percent, Pixel, Second
type UnitOfConditionValue string
// May be one of cm, Inch, mm, PercentOfScreen, Pixel
type UnitOfExtent string
// May be one of Hz(interlaced), Hz(non-interlaced)
type UnitOfFrameRate string
// May be one of GHz, Hz, kHz, MHz
type UnitOfFrequency string
// May be one of AsPerContract, Broadcast, Cable, ConditionalDownload, ContentInfluencedStream, Display, Download, DubForAdvertisement, DubForLivePerformance, DubForMovies, DubForMusicOnHold, DubForPublicPerformance, DubForRadio, DubForTV, ExtractForInternet, KioskDownload, Narrowcast, NonInteractiveStream, OnDemandStream, PerformAsMusicOnHold, PerformInLivePerformance, PerformInPublic, PermanentDownload, Playback, PlayInPublic, Podcast, Print, PrivateCopy, PurchaseAsPhysicalProduct, Rent, Simulcast, Stream, TetheredDownload, TimeInfluencedStream, Unknown, UseAsAlertTone, UseAsDevice, UseAsKaraoke, UseAsRingbackTone, UseAsRingbackTune, UseAsRingtone, UseAsRingtune, UseAsScreensaver, UseAsVoiceMail, UseAsWallpaper, UseForIdentification, UseInMobilePhoneMessaging, UseInPhoneListening, UserDefined, UserMakeAvailableLabelProvided, UserMakeAvailableUserProvided, Webcast
type UseType string
// A Composite containing details about a ValidityPeriod of Time. Periods are typically describedby at least a StartDate or EndDate where the StartDate and EndDate are included in the Period. Thus a one-day period can be described by using the same date in the StartDate and EndDate.
type ValidityPeriod struct {
StartDate EventDate `xml:"http://ddex.net/xml/ern/41 StartDate,omitempty"`
EndDate EventDate `xml:"http://ddex.net/xml/ern/41 EndDate,omitempty"`
}
// May be one of AcapellaVersion, AlbumVersion, AlternativeVersion, CleanVersion, DemoVersion, EditedVersion, InstrumentalVersion, KaraokeVersion, LiveVersion, MixVersion, MonoVersion, RadioVersion, RemixVersion, SessionVersion, SingleVersion, StereoVersion, UserDefined
type VersionType string
// A Composite containing details of a Video.
type Video struct {
ResourceReference ResourceReference `xml:"http://ddex.net/xml/ern/41 ResourceReference"`
Type VideoType `xml:"http://ddex.net/xml/ern/41 Type"`
ResourceId []VideoId `xml:"http://ddex.net/xml/ern/41 ResourceId,omitempty"`
WorkId []MusicalWorkId `xml:"http://ddex.net/xml/ern/41 WorkId,omitempty"`
DisplayTitleText []DisplayTitleText `xml:"http://ddex.net/xml/ern/41 DisplayTitleText"`
DisplayTitle []DisplayTitle `xml:"http://ddex.net/xml/ern/41 DisplayTitle"`
AdditionalTitle []AdditionalTitle `xml:"http://ddex.net/xml/ern/41 AdditionalTitle,omitempty"`
VersionType []VersionType `xml:"http://ddex.net/xml/ern/41 VersionType,omitempty"`
DisplayArtistName []DisplayArtistNameWithDefault `xml:"http://ddex.net/xml/ern/41 DisplayArtistName"`
DisplayArtist []DisplayArtist `xml:"http://ddex.net/xml/ern/41 DisplayArtist"`
Contributor []Contributor `xml:"http://ddex.net/xml/ern/41 Contributor,omitempty"`
Character []Character `xml:"http://ddex.net/xml/ern/41 Character,omitempty"`
ResourceRightsController []ResourceRightsController `xml:"http://ddex.net/xml/ern/41 ResourceRightsController,omitempty"`
WorkRightsController []WorkRightsController `xml:"http://ddex.net/xml/ern/41 WorkRightsController,omitempty"`
PLine []PLineWithDefault `xml:"http://ddex.net/xml/ern/41 PLine,omitempty"`
CLine []CLineWithDefault `xml:"http://ddex.net/xml/ern/41 CLine,omitempty"`
CourtesyLine []CourtesyLineWithDefault `xml:"http://ddex.net/xml/ern/41 CourtesyLine,omitempty"`
Duration string `xml:"http://ddex.net/xml/ern/41 Duration"`
CreationDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 CreationDate,omitempty"`
MasteredDate EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 MasteredDate,omitempty"`
RemasteredDate []EventDateWithoutFlags `xml:"http://ddex.net/xml/ern/41 RemasteredDate,omitempty"`
FirstPublicationDate []FulfillmentDateWithTerritory `xml:"http://ddex.net/xml/ern/41 FirstPublicationDate,omitempty"`
ParentalWarningType []ParentalWarningTypeWithTerritory `xml:"http://ddex.net/xml/ern/41 ParentalWarningType"`
AvRating []AvRating `xml:"http://ddex.net/xml/ern/41 AvRating,omitempty"`
RelatedRelease []RelatedRelease `xml:"http://ddex.net/xml/ern/41 RelatedRelease,omitempty"`
RelatedResource []RelatedResource `xml:"http://ddex.net/xml/ern/41 RelatedResource,omitempty"`
CompositeMusicalWorkType CompositeMusicalWorkType `xml:"http://ddex.net/xml/avs/avs CompositeMusicalWorkType,omitempty"`
VideoCueSheetReference []VideoCueSheetReference `xml:"http://ddex.net/xml/ern/41 VideoCueSheetReference"`
ReasonForCueSheetAbsence Reason `xml:"http://ddex.net/xml/ern/41 ReasonForCueSheetAbsence"`
IsInstrumental bool `xml:"http://ddex.net/xml/ern/41 IsInstrumental,omitempty"`
ContainsHiddenContent bool `xml:"http://ddex.net/xml/ern/41 ContainsHiddenContent,omitempty"`
IsRemastered bool `xml:"http://ddex.net/xml/ern/41 IsRemastered,omitempty"`
DisplayCredits []DisplayCredits `xml:"http://ddex.net/xml/ern/41 DisplayCredits,omitempty"`
LanguageOfPerformance []IsoLanguageCode `xml:"http://ddex.net/xml/avs/avs LanguageOfPerformance,omitempty"`
LanguageOfDubbing []IsoLanguageCode `xml:"http://ddex.net/xml/avs/avs LanguageOfDubbing,omitempty"`
SubTitleLanguage []IsoLanguageCode `xml:"http://ddex.net/xml/avs/avs SubTitleLanguage,omitempty"`
ResourceContainedResourceReferenceList ResourceContainedResourceReferenceList `xml:"http://ddex.net/xml/ern/41 ResourceContainedResourceReferenceList,omitempty"`
TechnicalDetails []TechnicalVideoDetails `xml:"http://ddex.net/xml/ern/41 TechnicalDetails,omitempty"`
Raga []string `xml:"http://ddex.net/xml/ern/41 Raga,omitempty"`
Tala []string `xml:"http://ddex.net/xml/ern/41 Tala,omitempty"`
Deity []string `xml:"http://ddex.net/xml/ern/41 Deity,omitempty"`
VideoChapterReference []VideoChapterReference `xml:"http://ddex.net/xml/ern/41 VideoChapterReference,omitempty"`
LanguageAndScriptCode string `xml:"LanguageAndScriptCode,attr,omitempty"`
IsSupplemental bool `xml:"IsSupplemental,attr,omitempty"`
}
// Must match the pattern X[\d\-_a-zA-Z]+
type VideoChapterReference string
// May be one of AVC, H.261, H.263, MPEG-1, MPEG-2, MPEG-4, QuickTime, RealVideo, Shockwave, Unknown, UserDefined, WMV
type VideoCodecType string
// Must match the pattern Q[\d\-_a-zA-Z]+
type VideoCueSheetReference string
// May be one of HighDefinition, StandardDefinition
type VideoDefinitionType string
// A Composite containing details of Identifiers of a Video.
type VideoId struct {
ISRC string `xml:"http://ddex.net/xml/ern/41 ISRC,omitempty"`
ISAN string `xml:"http://ddex.net/xml/ern/41 ISAN,omitempty"`
VISAN string `xml:"http://ddex.net/xml/ern/41 VISAN,omitempty"`
CatalogNumber CatalogNumber `xml:"http://ddex.net/xml/ern/41 CatalogNumber,omitempty"`
ProprietaryId []ProprietaryId `xml:"http://ddex.net/xml/ern/41 ProprietaryId,omitempty"`
EIDR []string `xml:"http://ddex.net/xml/ern/41 EIDR,omitempty"`
IsReplaced bool `xml:"IsReplaced,attr,omitempty"`
}
// A Type of Video.
type VideoType string
// May be one of AdvertisementVideo, AdultContent, AdviceMagazine, Animation, BalletVideo, BehindTheScenes, BlackAndWhiteVideo, ChildrensFilm, ColorizedVideo, ColumnVideo, ConcertClip, ConcertVideo, CorporateFilm, Credits, Documentary, EducationalVideo, Episode, FeatureFilm, Fiction, InfomercialVideo, Interview, Karaoke, LiveEventVideo, LongFormMusicalWorkVideo, LongFormNonMusicalWorkVideo, LyricVideo, Magazine, Menu, MultimediaVideo, MusicalWorkClip, MusicalWorkReadalongVideo, MusicalWorkTrailer, MusicalWorkVideoChapter, News, NonMusicalWorkClip, NonMusicalWorkReadalongVideo, NonMusicalWorkTrailer, NonMusicalWorkVideoChapter, NonSerialAudioVisualRecording, OperaVideo, Performance, ReadalongVideo, RealityTvShowVideo, Season, SerialAudioVisualRecording, Series, ShortFilm, SilentVideo, SketchVideo, SoapSitcom, SpecialEvent, Sport, TheatricalWorkVideo, TrailerVideo, TvFilm, TvProgram, TvShowVideo, Unknown, VideoChapter, VideoClip, VideoReport, VideoStem
type VideoTypeDSRF string
// May be one of Background, UserDefined, Visual
type VisualPerceptionType string
// May be one of Instrumental, UserDefined, Vocal
type VocalType string
// A Composite containing details of a RightsController for a Work. RightsControllers are typically described by Name, Identifier and Role(s).
type WorkRightsController struct {
RightsControllerPartyReference RightsControllerPartyReference `xml:"http://ddex.net/xml/ern/41 RightsControllerPartyReference"`
RightsControllerRole []RightsControllerRole `xml:"http://ddex.net/xml/avs/avs RightsControllerRole,omitempty"`
RightsControllerType RightsControllerType `xml:"http://ddex.net/xml/avs/avs RightsControllerType,omitempty"`
RightShareUnknown bool `xml:"http://ddex.net/xml/ern/41 RightShareUnknown"`
RightSharePercentage float64 `xml:"http://ddex.net/xml/ern/41 RightSharePercentage"`
Territory []AllTerritoryCode `xml:"http://ddex.net/xml/ern/41 Territory,omitempty"`
StartDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 StartDate,omitempty"`
EndDate DdexIsoDate `xml:"http://ddex.net/xml/ern/41 EndDate,omitempty"`
}
type xsdDateTime time.Time
func (t *xsdDateTime) UnmarshalText(text []byte) error {
return _unmarshalTime(text, (*time.Time)(t), "2006-01-02T15:04:05.999999999")
}
func (t xsdDateTime) MarshalText() ([]byte, error) {
return []byte((time.Time)(t).Format("2006-01-02T15:04:05.999999999")), nil
}
func (t xsdDateTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if (time.Time)(t).IsZero() {
return nil
}
m, err := t.MarshalText()
if err != nil {
return err
}
return e.EncodeElement(m, start)
}
func (t xsdDateTime) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
if (time.Time)(t).IsZero() {
return xml.Attr{}, nil
}
m, err := t.MarshalText()
return xml.Attr{Name: name, Value: string(m)}, err
}
func _unmarshalTime(text []byte, t *time.Time, format string) (err error) {
s := string(bytes.TrimSpace(text))
*t, err = time.Parse(format, s)
if _, ok := err.(*time.ParseError); ok {
*t, err = time.Parse(format+"Z07:00", s)
}
return err
}
type xsdGYear time.Time
func (t *xsdGYear) UnmarshalText(text []byte) error {
return _unmarshalTime(text, (*time.Time)(t), "2006")
}
func (t xsdGYear) MarshalText() ([]byte, error) {
return []byte((time.Time)(t).Format("2006")), nil
}
func (t xsdGYear) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if (time.Time)(t).IsZero() {
return nil
}
m, err := t.MarshalText()
if err != nil {
return err
}
return e.EncodeElement(m, start)
}
func (t xsdGYear) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
if (time.Time)(t).IsZero() {
return xml.Attr{}, nil
}
m, err := t.MarshalText()
return xml.Attr{Name: name, Value: string(m)}, err
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment