<?xml version="1.0" encoding="UTF-8"?>
<xslt:stylesheet xmlns:xslt="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
<xslt:output indent="yes" method="xml"/>
<xslt:template match="xsd:element[@ref='j:ActivityDescriptionText' and ../../../../@name='ActivityType']">
<xsd:element ref="j:ActivityDescriptionText">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ActivityDate' and ../../../../@name='ActivityType']">
<xsd:element ref="j:ActivityDate">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ActivityTime' and ../../../../@name='ActivityType']">
<xsd:element ref="j:ActivityTime">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationBuilding' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationBuilding">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationStreet' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationStreet">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationCityName' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationCityName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationCountyCode' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationCountyCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationStateCode.fips5-2Alpha' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationStateCode.fips5-2Alpha">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationPostalCodeID' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationPostalCodeID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationCountryCode.fips10-4' and ../../../../@name='AddressType']">
<xsd:element ref="j:LocationCountryCode.fips10-4">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:BinaryObject.Base64' and ../../../../@name='BinaryType']">
<xsd:element ref="j:BinaryObject.Base64">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:BinaryFormatTypeText' and ../../../../@name='BinaryType']">
<xsd:element ref="j:BinaryFormatTypeText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:BinaryDescriptionText' and ../../../../@name='BinaryType']">
<xsd:element ref="j:BinaryDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:BinaryReferenceID' and ../../../../@name='BinaryType']">
<xsd:element ref="j:BinaryReferenceID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ContactEmailID' and ../../../../@name='ContactInformationType']">
<xsd:element ref="j:ContactEmailID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ContactWebsiteID' and ../../../../@name='ContactInformationType']">
<xsd:element ref="j:ContactWebsiteID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ContactOrganization' and ../../../../@name='ContactInformationType']">
<xsd:element ref="j:ContactOrganization">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:CrossStreetDescriptionText' and ../../../../@name='CrossStreetType']">
<xsd:element ref="j:CrossStreetDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:DocumentID' and ../../../../@name='DocumentDescriptiveMetadataType']">
<xsd:element ref="j:DocumentID">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:DocumentDescriptiveMetadata' and ../../../../@name='DocumentType']">
<xsd:element ref="j:DocumentDescriptiveMetadata">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ID' and ../../../../@name='IDType']">
<xsd:element ref="j:ID">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:IDTypeDescriptionText' and ../../../../@name='IDType']">
<xsd:element ref="j:IDTypeDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:IDSourceText' and ../../../../@name='IDType']">
<xsd:element ref="j:IDSourceText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ImageHeightValue' and ../../../../@name='ImageType']">
<xsd:element ref="j:ImageHeightValue">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:ImageWidthValue' and ../../../../@name='ImageType']">
<xsd:element ref="j:ImageWidthValue">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:IncidentLocation' and ../../../../@name='IncidentType']">
<xsd:element ref="j:IncidentLocation">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">unbounded</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocaleNeighborhoodName' and ../../../../@name='LocaleType']">
<xsd:element ref="j:LocaleNeighborhoodName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationDescriptionText' and ../../../../@name='LocationType']">
<xsd:element ref="j:LocationDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationAddress' and ../../../../@name='LocationType']">
<xsd:element ref="j:LocationAddress">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationCrossStreet' and ../../../../@name='LocationType']">
<xsd:element ref="j:LocationCrossStreet">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationLocale' and ../../../../@name='LocationType']">
<xsd:element ref="j:LocationLocale">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:LocationMapLocation' and ../../../../@name='LocationType']">
<xsd:element ref="j:LocationMapLocation">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapLocationDescriptionText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapLocationDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapName' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapDate' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapDate">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapVersionID' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapVersionID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapPageID' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapPageID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapQuandrantText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapQuandrantText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapCoordinateFullText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapCoordinateFullText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapHorizontalCoordinateText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapHorizontalCoordinateText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapVerticalCoordinateText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapVerticalCoordinateText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:MapElevationCoordinateText' and ../../../../@name='MapLocationType']">
<xsd:element ref="j:MapElevationCoordinateText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:OrganizationName' and ../../../../@name='OrganizationType']">
<xsd:element ref="j:OrganizationName">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:OrganizationUnitName' and ../../../../@name='OrganizationType']">
<xsd:element ref="j:OrganizationUnitName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonDigitalImage' and ../../../../@name='PersonBiometricDetailsType']">
<xsd:element ref="j:PersonDigitalImage">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">unbounded</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonGivenName' and ../../../../@name='PersonNameType']">
<xsd:element ref="j:PersonGivenName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonMiddleName' and ../../../../@name='PersonNameType']">
<xsd:element ref="j:PersonMiddleName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSurName' and ../../../../@name='PersonNameType']">
<xsd:element ref="j:PersonSurName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSuffixName' and ../../../../@name='PersonNameType']">
<xsd:element ref="j:PersonSuffixName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonHeightMeasure' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonHeightMeasure">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonHeightMeasure.Range' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonHeightMeasure.Range">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonWeightMeasure' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonWeightMeasure">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonWeightMeasure.Range' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonWeightMeasure.Range">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonEyeColorText' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonEyeColorText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonEyeColorCode' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonEyeColorCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonHairColorText' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonHairColorText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonHairColorCode' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonHairColorCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSexCode' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonSexCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonRaceText' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonRaceText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonRaceCode' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonRaceCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSkinToneText' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonSkinToneText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSkinToneCode' and ../../../../@name='PersonPhysicalDetailsType']">
<xsd:element ref="j:PersonSkinToneCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonEthnicityText' and ../../../../@name='PersonSocialDetailsType']">
<xsd:element ref="j:PersonEthnicityText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonEthnicityCode' and ../../../../@name='PersonSocialDetailsType']">
<xsd:element ref="j:PersonEthnicityCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonName' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonAlternateName' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonAlternateName">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonDescriptionText' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonBirthDate' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonBirthDate">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonAgeMeasure' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonAgeMeasure">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonAgeMeasure.Range' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonAgeMeasure.Range">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonPhysicalDetails' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonPhysicalDetails">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonSocialDetails' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonSocialDetails">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PersonBiometricDetails' and ../../../../@name='PersonType']">
<xsd:element ref="j:PersonBiometricDetails">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PropertyVisibleID' and ../../../../@name='PropertyAssignedIDDetailsType']">
<xsd:element ref="j:PropertyVisibleID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PropertyImage' and ../../../../@name='PropertyPhysicalDetailsType']">
<xsd:element ref="j:PropertyImage">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:RegistrationJurisdictionCode.fips5-2Alpha' and ../../../../@name='PropertyRegistrationType']">
<xsd:element ref="j:RegistrationJurisdictionCode.fips5-2Alpha">
<xslt:attribute name="minOccurs">1</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PropertyDescriptionText' and ../../../../@name='PropertyType']">
<xsd:element ref="j:PropertyDescriptionText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:PropertyAssignedIDDetails' and ../../../../@name='PropertyType']">
<xsd:element ref="j:PropertyAssignedIDDetails">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:StreetFullText' and ../../../../@name='StreetType']">
<xsd:element ref="j:StreetFullText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:TelephoneNumberFullID' and ../../../../@name='TelephoneNumberType']">
<xsd:element ref="j:TelephoneNumberFullID">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleRegistration' and ../../../../@name='VehicleBasicsType']">
<xsd:element ref="j:VehicleRegistration">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleMakeCode' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleMakeCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleModelCode' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleModelCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleModelYearDate' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleModelYearDate">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleModelCodeText' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleModelCodeText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleStyleCode' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleStyleCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleColorPrimaryText' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleColorPrimaryText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleColorPrimaryCode' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleColorPrimaryCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleColorSecondaryText' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleColorSecondaryText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleColorSecondaryCode' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleColorSecondaryCode">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="xsd:element[@ref='j:VehicleColorInteriorText' and ../../../../@name='VehicleType']">
<xsd:element ref="j:VehicleColorInteriorText">
<xslt:attribute name="minOccurs">0</xslt:attribute>
<xslt:attribute name="maxOccurs">1</xslt:attribute>
</xsd:element>
</xslt:template>
<xslt:template match="/xsd:schema">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:complexType">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:simpleType">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:complexContent">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:extension">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:restriction">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:sequence">
<xslt:copy>
<xslt:for-each select="@*">
<xslt:copy/>
</xslt:for-each>
<xslt:apply-templates/>
</xslt:copy>
</xslt:template>
<xslt:template match="xsd:simpleContent">
<xslt:copy-of select="."/>
</xslt:template>
<xslt:template match="xsd:annotation">
<xslt:copy-of select="."/>
</xslt:template>
<xslt:template match="xsd:import">
<xslt:copy>
<xslt:attribute name="namespace">
<xslt:value-of select="@namespace"/>
</xslt:attribute>
<xslt:attribute name="schemaLocation">
<xslt:text>subset/jxdm/3.0.2/</xslt:text>
<xslt:value-of select="@schemaLocation"/>
</xslt:attribute>
<xslt:apply-templates/>
</xslt:copy>
<xslt:if test="not(following::xsd:import)">
<xsd:attribute type="xsd:ID" name="id"/>
</xslt:if>
</xslt:template>
<xslt:template match="xsd:attribute">
<xslt:copy-of select="."/>
</xslt:template>
<xslt:template match="xsd:attributeGroup">
<xslt:copy-of select="."/>
</xslt:template>
<xslt:template match="xsd:element">
<xslt:copy-of select="."/>
</xslt:template>
</xslt:stylesheet>
