<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:set="http://exslt.org/sets" extension-element-prefixes="set" exclude-result-prefixes="set">
<!-- Metadata Caridnality Rules list created on: Jun 4, 2007 12:55:57 PM -->
<xsl:template match="text()" mode="check-cardinality"/>
<xsl:template match="text()" mode="check-territory-metadata"/>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='SINGLE']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERNAL_NOTES'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERNAL_NOTES on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PRODUCTION_HIGHLIGHTS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PRODUCTION_HIGHLIGHTS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='ALBUM']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&lt;1">
Error: required metadata type not found: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&lt;1">
Error: required metadata type not found: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;1">
Error: too many metadata defined: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&lt;1">
Error: required metadata type not found: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;1">
Error: too many metadata defined: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&lt;1">
Error: required metadata type not found: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;1">
Error: too many metadata defined: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;1">
Error: too many metadata defined: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;1">
Error: too many metadata defined: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;1">
Error: too many metadata defined: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;1">
Error: too many metadata defined: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PRODUCTION_HIGHLIGHTS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PRODUCTION_HIGHLIGHTS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;1">
Error: too many metadata defined: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;1">
Error: too many metadata defined: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;1">
Error: too many metadata defined: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&lt;1">
Error: required artist type not found: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='TRACK']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&lt;1">
Error: required metadata type not found: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;1">
Error: too many metadata defined: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;1">
Error: too many metadata defined: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;1">
Error: too many metadata defined: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&lt;1">
Error: required metadata type not found: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;1">
Error: too many metadata defined: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;1">
Error: too many metadata defined: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;1">
Error: too many metadata defined: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&lt;1">
Error: required metadata type not found: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;1">
Error: too many metadata defined: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;1">
Error: too many metadata defined: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;1">
Error: too many metadata defined: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;1">
Error: too many metadata defined: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;1">
Error: too many metadata defined: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;1">
Error: too many metadata defined: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;1">
Error: too many metadata defined: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;1">
Error: too many metadata defined: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='COLLECTION']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&lt;1">
Error: required metadata type not found: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;1">
Error: too many metadata defined: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&lt;1">
Error: required metadata type not found: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;1">
Error: too many metadata defined: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&lt;1">
Error: required metadata type not found: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;1">
Error: too many metadata defined: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;1">
Error: too many metadata defined: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;1">
Error: too many metadata defined: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&lt;1">
Error: required artist type not found: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='CONSUMER_COMPILATION']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERNAL_NOTES'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERNAL_NOTES on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PRODUCTION_HIGHLIGHTS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PRODUCTION_HIGHLIGHTS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='SUBSCRIPTION']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERNAL_NOTES'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERNAL_NOTES on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PRODUCTION_HIGHLIGHTS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PRODUCTION_HIGHLIGHTS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='MUSIC_VIDEO']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&lt;1">
Error: required metadata type not found: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;1">
Error: too many metadata defined: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;1">
Error: too many metadata defined: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;1">
Error: too many metadata defined: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;1">
Error: too many metadata defined: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_GUIDELINE_RATING']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_GUIDELINE_RATING' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_CONTENT_LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_CONTENT_LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;1">
Error: too many metadata defined: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;1">
Error: too many metadata defined: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='TV_SERIES']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&lt;1">
Error: required metadata type not found: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;1">
Error: too many metadata defined: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;1">
Error: too many metadata defined: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;1">
Error: too many metadata defined: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_GUIDELINE_RATING']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_GUIDELINE_RATING' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_CONTENT_LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_CONTENT_LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;1">
Error: too many metadata defined: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;1">
Error: too many metadata defined: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;1">
Error: too many metadata defined: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&lt;1">
Error: required metadata type not found: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='DESCRIPTION']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='DESCRIPTION' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&lt;1">
Error: required metadata type not found: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;1">
Error: too many metadata defined: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&lt;1">
Error: required metadata type not found: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;1">
Error: too many metadata defined: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='NETWORK']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='NETWORK' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='TV_SHOW']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&lt;1">
Error: required metadata type not found: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;1">
Error: too many metadata defined: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='RELEASE_DATE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='RELEASE_DATE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&lt;1">
Error: required metadata type not found: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;1">
Error: too many metadata defined: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&lt;1">
Error: required metadata type not found: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;1">
Error: too many metadata defined: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;1">
Error: too many metadata defined: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='CLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='CLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PLINE'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PLINE']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PLINE' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;1">
Error: too many metadata defined: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;1">
Error: too many metadata defined: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;1">
Error: too many metadata defined: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_GUIDELINE_RATING']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_GUIDELINE_RATING' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='PARENTAL_CONTENT_LABEL']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='PARENTAL_CONTENT_LABEL' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;1">
Error: too many metadata defined: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;1">
Error: too many metadata defined: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;1">
Error: too many metadata defined: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;1">
Error: too many metadata defined: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&lt;1">
Error: required metadata type not found: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'][count(TERRITORY_CODE)=0])&gt;1">
Error: too many metadata defined: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:for-each select="set:distinct(METADATA[TYPE='DESCRIPTION']/TERRITORY_CODE)">
<xsl:variable name="territory" select="text()"/>
	<xsl:if test="count(../../METADATA[TYPE='DESCRIPTION' and TERRITORY_CODE=$territory])&gt;1">Error: too many metadata defined: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/> for territory <xsl:value-of select="text()"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="name(..)='MUSICNET_COMPONENT'">
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&lt;1">
Error: required metadata type not found: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;1">
Error: too many metadata defined: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="MUSICNET_COMPONENT[COMPONENT_TYPE='MOVIE']" mode="check-cardinality">
<xsl:if test="count(METADATA[TYPE='TITLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TITLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELEASE_DATE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RELEASE_DATE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RELATED_UPC'])&gt;1">
Error: too many metadata defined: RELATED_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACKS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACKS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DURATION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DURATION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_ADVISORY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_ADVISORY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ISRC'])&gt;1">
Error: too many metadata defined: ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='TRACK_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: TRACK_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ENGINEER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ENGINEER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MIXER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MIXER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_STUDIO'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_STUDIO on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='RECORDING_OWNER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: RECORDING_OWNER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUSIC_PUBLISHER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUSIC_PUBLISHER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='CLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: CLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PLINE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PLINE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DISC_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DISC_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AMG_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AMG_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='MUZE_TRACKID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: MUZE_TRACKID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERNAL_NOTES'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERNAL_NOTES on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='WORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: WORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='VERSION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: VERSION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INSTRUMENT_VOICE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INSTRUMENT_VOICE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PRODUCTION_HIGHLIGHTS'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PRODUCTION_HIGHLIGHTS on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='COPYRIGHT'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: COPYRIGHT on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DIGITAL_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DIGITAL_ISRC'])&gt;1">
Error: too many metadata defined: DIGITAL_ISRC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_GUIDELINE_RATING'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_GUIDELINE_RATING on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PARENTAL_CONTENT_LABEL'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PARENTAL_CONTENT_LABEL on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EAN'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EAN on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_UPC'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_UPC on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='BIOGRAPHY'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: BIOGRAPHY on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='INTERVIEW'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: INTERVIEW on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='HIDDEN_TRACK_IND'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: HIDDEN_TRACK_IND on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='ALTERNATE_GENRE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: ALTERNATE_GENRE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROVIDER_COMP_ID2'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROVIDER_COMP_ID2 on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='IMAGE_TYPE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: IMAGE_TYPE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SINGLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SINGLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='GRID'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: GRID on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='DESCRIPTION'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: DESCRIPTION on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='EPISODE_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: EPISODE_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SEASON_NUMBER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SEASON_NUMBER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='AUDIO_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: AUDIO_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='SUBTITLE_LANGUAGE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: SUBTITLE_LANGUAGE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='PROGRAM_NAME'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: PROGRAM_NAME on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(METADATA[TYPE='NETWORK'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: metadata type not allowed: NETWORK on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARTIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARTIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PERFORMER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PERFORMER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ENSEMBLE'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ENSEMBLE on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='SOLOIST'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: SOLOIST on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='COMPOSER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: COMPOSER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CONDUCTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CONDUCTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='ARRANGER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: ARRANGER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='DIRECTOR'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: DIRECTOR on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
<xsl:if test="count(ARTIST[TYPE='CO_PRODUCER'])&gt;0 and $ignoreDisallowedData='FALSE'">
Error: artist type not allowed: CO_PRODUCER on <xsl:value-of select="MUSICNET_COMPONENT_CODE"/>
</xsl:if>
</xsl:template>
<xsl:template match="METADATA[TYPE='ALTERNATE_GENRE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: ALTERNATE_GENRE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='ALTERNATE_UPC'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: ALTERNATE_UPC cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='AMG_ID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: AMG_ID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='AMG_TRACKID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: AMG_TRACKID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='AUDIO_LANGUAGE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: AUDIO_LANGUAGE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='BIOGRAPHY'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: BIOGRAPHY cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='COMPOSER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: COMPOSER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='COPYRIGHT'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: COPYRIGHT cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='DIGITAL_ISRC'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: DIGITAL_ISRC cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='DIGITAL_UPC'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: DIGITAL_UPC cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='DISC_NUMBER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: DISC_NUMBER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='DURATION'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: DURATION cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='EAN'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: EAN cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='ENGINEER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: ENGINEER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='EPISODE_NUMBER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: EPISODE_NUMBER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='GENRE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: GENRE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='GRID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: GRID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='HIDDEN_TRACK_IND'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: HIDDEN_TRACK_IND cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='IMAGE_TYPE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: IMAGE_TYPE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='INSTRUMENT_VOICE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: INSTRUMENT_VOICE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='INTERNAL_NOTES'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: INTERNAL_NOTES cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='INTERVIEW'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: INTERVIEW cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='ISRC'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: ISRC cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='MIXER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: MIXER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='MUSIC_PUBLISHER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: MUSIC_PUBLISHER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='MUZE_ID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: MUZE_ID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='MUZE_TRACKID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: MUZE_TRACKID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PARENTAL_ADVISORY'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PARENTAL_ADVISORY cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PRODUCER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PRODUCER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PRODUCTION_HIGHLIGHTS'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PRODUCTION_HIGHLIGHTS cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PROGRAM_NAME'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PROGRAM_NAME cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PROVIDER_COMP_ID'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PROVIDER_COMP_ID cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='PROVIDER_COMP_ID2'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: PROVIDER_COMP_ID2 cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='RECORDING_OWNER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: RECORDING_OWNER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='RECORDING_STUDIO'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: RECORDING_STUDIO cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='RELATED_UPC'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: RELATED_UPC cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='SEASON_NUMBER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: SEASON_NUMBER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='SINGLE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: SINGLE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='SUBTITLE_LANGUAGE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: SUBTITLE_LANGUAGE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='TITLE'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: TITLE cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='TRACKS'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: TRACKS cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='TRACK_NUMBER'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: TRACK_NUMBER cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='VERSION'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: VERSION cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
<xsl:template match="METADATA[TYPE='WORK'][count(TERRITORY_CODE)&gt;0]" mode="check-territory-metadata">
	Error: WORK cannot have a territory on <xsl:value-of select="../MUSICNET_COMPONENT_CODE"/>
</xsl:template>
</xsl:stylesheet>