// generated code via ids-lib.codegen using Xbim.Essentials 6.0.517.0 - any changes made directly here will be lost

using System;

namespace IdsLib.IfcSchema; 

public partial class SchemaInfo
{
	static partial void GetAttributesIFC2x3(SchemaInfo destinationSchema)
	{
		destinationSchema.AddAttribute("Contents", new[] { "IFCDRAUGHTINGCALLOUT" }, new[] { "IFCANGULARDIMENSION", "IFCDIMENSIONCURVEDIRECTEDCALLOUT", "IFCDRAUGHTINGCALLOUT", "IFCDIAMETERDIMENSION", "IFCLINEARDIMENSION", "IFCRADIUSDIMENSION", "IFCSTRUCTUREDDIMENSIONCALLOUT" });
		destinationSchema.AddAttribute("Name", new[] { "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCSTYLEDITEM", "IFCPREDEFINEDITEM", "IFCROOT", "IFCPHYSICALQUANTITY", "IFCEXTENDEDMATERIALPROPERTIES", "IFCMATERIAL", "IFCLIGHTSOURCE", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCTIMESERIES", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCSIUNIT", "IFCPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYENUMERATION", "IFCCOLOURSPECIFICATION", "IFCEXTERNALREFERENCE", "IFCBOUNDARYCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCTABLE", "IFCCLASSIFICATION", "IFCDOCUMENTINFORMATION", "IFCLIBRARYINFORMATION", "IFCAPPLIEDVALUE", "IFCAPPLIEDVALUERELATIONSHIP", "IFCREFERENCESVALUEDOCUMENT", "IFCCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCPROPERTYCONSTRAINTRELATIONSHIP", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCDIMENSIONCALLOUTRELATIONSHIP", "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCDIMENSIONCURVE", "IFCANNOTATIONCURVEOCCURRENCE", "IFCANNOTATIONOCCURRENCE", "IFCSTYLEDITEM", "IFCDIMENSIONCURVETERMINATOR", "IFCTERMINATORSYMBOL", "IFCANNOTATIONSYMBOLOCCURRENCE", "IFCDIMENSIONPAIR", "IFCPREDEFINEDDIMENSIONSYMBOL", "IFCPREDEFINEDSYMBOL", "IFCPREDEFINEDITEM", "IFCPREDEFINEDPOINTMARKERSYMBOL", "IFCPREDEFINEDTERMINATORSYMBOL", "IFCPROJECTIONCURVE", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCROOT", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCRELASSOCIATESPROFILEPROPERTIES", "IFCRELASSOCIATES", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCPROCEDURE", "IFCPROCESS", "IFCTASK", "IFCWORKCONTROL", "IFCCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCSCHEDULETIMECONTROL", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCEXTENDEDMATERIALPROPERTIES", "IFCMATERIAL", "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCSHAPEASPECT", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCFLUIDFLOWPROPERTIES", "IFCSOUNDPROPERTIES", "IFCSOUNDVALUE", "IFCSPACETHERMALLOADPROPERTIES", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELASSOCIATESAPPLIEDVALUE", "IFCRELSCHEDULESCOSTITEMS", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCSIUNIT", "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCCOLOURRGB", "IFCCOLOURSPECIFICATION", "IFCDRAUGHTINGPREDEFINEDCOLOUR", "IFCPREDEFINEDCOLOUR", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCEXTERNALREFERENCE", "IFCPREDEFINEDTEXTFONT", "IFCTEXTSTYLEFONTMODEL", "IFCDRAUGHTINGPREDEFINEDTEXTFONT", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBOUNDARYCONDITION", "IFCBOUNDARYEDGECONDITION", "IFCBOUNDARYFACECONDITION", "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING", "IFCFAILURECONNECTIONCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSLIPPAGECONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCSTRUCTURALLOADLINEARFORCE", "IFCSTRUCTURALLOADSTATIC", "IFCSTRUCTURALLOADPLANARFORCE", "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION", "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING", "IFCSTRUCTURALLOADTEMPERATURE", "IFCCURVESTYLE", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCDRAUGHTINGPREDEFINEDCURVEFONT", "IFCPREDEFINEDCURVEFONT", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCFILLAREASTYLE", "IFCSURFACESTYLE", "IFCTEXTSTYLE", "IFCSYMBOLSTYLE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCROOF", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCASSET", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCSERVICELIFE", "IFCSERVICELIFEFACTOR", "IFCTABLE", "IFCANNOTATIONFILLAREAOCCURRENCE", "IFCANNOTATIONSURFACEOCCURRENCE", "IFCANNOTATIONTEXTOCCURRENCE", "IFCEXTERNALLYDEFINEDSYMBOL", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTQUANTITY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCRELFILLSELEMENT", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROJECT", "IFCPROPERTYSET", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINES", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELSEQUENCE", "IFCRESOURCE", "IFCRELOVERRIDESPROPERTIES", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCACTIONREQUEST", "IFCCONDITION", "IFCCONDITIONCRITERION", "IFCEQUIPMENTSTANDARD", "IFCFURNITURESTANDARD", "IFCMOVE", "IFCORDERACTION", "IFCPERMIT", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICALCIRCUIT", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONPOINT", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCAPPLIEDVALUE", "IFCAPPLIEDVALUERELATIONSHIP", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE", "IFCREFERENCESVALUEDOCUMENT", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCTIMESERIESSCHEDULE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCMETRIC", "IFCOBJECTIVE", "IFCPROPERTYCONSTRAINTRELATIONSHIP", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCRELINTERACTIONREQUIREMENTS", "IFCSPACEPROGRAM", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Description", new[] { "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCROOT", "IFCPHYSICALQUANTITY", "IFCEXTENDEDMATERIALPROPERTIES", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCTIMESERIES", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCDOCUMENTINFORMATION", "IFCAPPLIEDVALUE", "IFCAPPLIEDVALUERELATIONSHIP", "IFCREFERENCESVALUEDOCUMENT", "IFCCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCPROPERTYCONSTRAINTRELATIONSHIP", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCDIMENSIONCALLOUTRELATIONSHIP", "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCDIMENSIONPAIR", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCROOT", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCRELASSOCIATESPROFILEPROPERTIES", "IFCRELASSOCIATES", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCPROCEDURE", "IFCPROCESS", "IFCTASK", "IFCWORKCONTROL", "IFCCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCSCHEDULETIMECONTROL", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCEXTENDEDMATERIALPROPERTIES", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCSHAPEASPECT", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCFLUIDFLOWPROPERTIES", "IFCSOUNDPROPERTIES", "IFCSOUNDVALUE", "IFCSPACETHERMALLOADPROPERTIES", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELASSOCIATESAPPLIEDVALUE", "IFCRELSCHEDULESCOSTITEMS", "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCROOF", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCASSET", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCSERVICELIFE", "IFCSERVICELIFEFACTOR", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTQUANTITY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCRELFILLSELEMENT", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROJECT", "IFCPROPERTYSET", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINES", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELSEQUENCE", "IFCRESOURCE", "IFCRELOVERRIDESPROPERTIES", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCACTIONREQUEST", "IFCCONDITION", "IFCCONDITIONCRITERION", "IFCEQUIPMENTSTANDARD", "IFCFURNITURESTANDARD", "IFCMOVE", "IFCORDERACTION", "IFCPERMIT", "IFCDOCUMENTINFORMATION", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICALCIRCUIT", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONPOINT", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCAPPLIEDVALUE", "IFCAPPLIEDVALUERELATIONSHIP", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE", "IFCREFERENCESVALUEDOCUMENT", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCTIMESERIESSCHEDULE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCMETRIC", "IFCOBJECTIVE", "IFCPROPERTYCONSTRAINTRELATIONSHIP", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCRELINTERACTIONREQUIREMENTS", "IFCSPACEPROGRAM", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingDraughtingCallout", new[] { "IFCDRAUGHTINGCALLOUTRELATIONSHIP" }, new[] { "IFCDIMENSIONCALLOUTRELATIONSHIP", "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCDIMENSIONPAIR" });
		destinationSchema.AddAttribute("RelatedDraughtingCallout", new[] { "IFCDRAUGHTINGCALLOUTRELATIONSHIP" }, new[] { "IFCDIMENSIONCALLOUTRELATIONSHIP", "IFCDRAUGHTINGCALLOUTRELATIONSHIP", "IFCDIMENSIONPAIR" });
		destinationSchema.AddAttribute("Item", new[] { "IFCSTYLEDITEM", "IFCANNOTATIONSURFACE" }, new[] { "IFCDIMENSIONCURVE", "IFCANNOTATIONCURVEOCCURRENCE", "IFCANNOTATIONOCCURRENCE", "IFCSTYLEDITEM", "IFCDIMENSIONCURVETERMINATOR", "IFCTERMINATORSYMBOL", "IFCANNOTATIONSYMBOLOCCURRENCE", "IFCPROJECTIONCURVE", "IFCANNOTATIONFILLAREAOCCURRENCE", "IFCANNOTATIONSURFACE", "IFCANNOTATIONSURFACEOCCURRENCE", "IFCANNOTATIONTEXTOCCURRENCE" });
		destinationSchema.AddAttribute("Styles", new[] { "IFCSTYLEDITEM", "IFCPRESENTATIONSTYLEASSIGNMENT", "IFCSURFACESTYLE" }, new[] { "IFCDIMENSIONCURVE", "IFCANNOTATIONCURVEOCCURRENCE", "IFCANNOTATIONOCCURRENCE", "IFCSTYLEDITEM", "IFCDIMENSIONCURVETERMINATOR", "IFCTERMINATORSYMBOL", "IFCANNOTATIONSYMBOLOCCURRENCE", "IFCPROJECTIONCURVE", "IFCPRESENTATIONSTYLEASSIGNMENT", "IFCSURFACESTYLE", "IFCANNOTATIONFILLAREAOCCURRENCE", "IFCANNOTATIONSURFACEOCCURRENCE", "IFCANNOTATIONTEXTOCCURRENCE" });
		destinationSchema.AddAttribute("AnnotatedCurve", new[] { "IFCTERMINATORSYMBOL" }, new[] { "IFCDIMENSIONCURVETERMINATOR", "IFCTERMINATORSYMBOL" });
		destinationSchema.AddAttribute("Role", new[] { "IFCDIMENSIONCURVETERMINATOR", "IFCAPPROVALACTORRELATIONSHIP", "IFCACTORROLE" }, new[] { "IFCDIMENSIONCURVETERMINATOR", "IFCAPPROVALACTORRELATIONSHIP", "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("GlobalId", new[] { "IFCROOT" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCROOT", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCRELASSOCIATESPROFILEPROPERTIES", "IFCRELASSOCIATES", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCPROCEDURE", "IFCPROCESS", "IFCTASK", "IFCWORKCONTROL", "IFCCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCSCHEDULETIMECONTROL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCFLUIDFLOWPROPERTIES", "IFCSOUNDPROPERTIES", "IFCSOUNDVALUE", "IFCSPACETHERMALLOADPROPERTIES", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELASSOCIATESAPPLIEDVALUE", "IFCRELSCHEDULESCOSTITEMS", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCROOF", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCASSET", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCSERVICELIFE", "IFCSERVICELIFEFACTOR", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTQUANTITY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCRELFILLSELEMENT", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROJECT", "IFCPROPERTYSET", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINES", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELSEQUENCE", "IFCRESOURCE", "IFCRELOVERRIDESPROPERTIES", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCACTIONREQUEST", "IFCCONDITION", "IFCCONDITIONCRITERION", "IFCEQUIPMENTSTANDARD", "IFCFURNITURESTANDARD", "IFCMOVE", "IFCORDERACTION", "IFCPERMIT", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICALCIRCUIT", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONPOINT", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCTIMESERIESSCHEDULE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCRELINTERACTIONREQUIREMENTS", "IFCSPACEPROGRAM" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwnerHistory", new[] { "IFCROOT" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCROOT", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCRELASSOCIATESPROFILEPROPERTIES", "IFCRELASSOCIATES", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCPROCEDURE", "IFCPROCESS", "IFCTASK", "IFCWORKCONTROL", "IFCCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCSCHEDULETIMECONTROL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCFLUIDFLOWPROPERTIES", "IFCSOUNDPROPERTIES", "IFCSOUNDVALUE", "IFCSPACETHERMALLOADPROPERTIES", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELASSOCIATESAPPLIEDVALUE", "IFCRELSCHEDULESCOSTITEMS", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCROOF", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCASSET", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCSERVICELIFE", "IFCSERVICELIFEFACTOR", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTQUANTITY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCRELFILLSELEMENT", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROJECT", "IFCPROPERTYSET", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINES", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELSEQUENCE", "IFCRESOURCE", "IFCRELOVERRIDESPROPERTIES", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCACTIONREQUEST", "IFCCONDITION", "IFCCONDITIONCRITERION", "IFCEQUIPMENTSTANDARD", "IFCFURNITURESTANDARD", "IFCMOVE", "IFCORDERACTION", "IFCPERMIT", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICALCIRCUIT", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONPOINT", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCTIMESERIESSCHEDULE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCRELINTERACTIONREQUIREMENTS", "IFCSPACEPROGRAM" });
		destinationSchema.AddAttribute("RelatingElement", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCRELCONNECTSELEMENTS", "IFCRELPROJECTSELEMENT" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSSTRUCTURALELEMENT", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELPROJECTSELEMENT" });
		destinationSchema.AddAttribute("RelatedStructuralActivity", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" });
		destinationSchema.AddAttribute("RelatingStructuralMember", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("RelatedStructuralConnection", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("AppliedCondition", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCSTRUCTURALCONNECTION" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALSURFACECONNECTION" });
		destinationSchema.AddAttribute("AdditionalConditions", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("SupportedLength", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConditionCoordinateSystem", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("ConnectionConstraint", new[] { "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("ObjectType", new[] { "IFCOBJECT" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCOBJECT", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCPROCEDURE", "IFCPROCESS", "IFCTASK", "IFCWORKCONTROL", "IFCCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCSCHEDULETIMECONTROL", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCCOLUMN", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCASSET", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSERVICELIFE", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCELEMENTASSEMBLY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCZONE", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROJECT", "IFCPROXY", "IFCRESOURCE", "IFCACTIONREQUEST", "IFCCONDITION", "IFCCONDITIONCRITERION", "IFCEQUIPMENTSTANDARD", "IFCFURNITURESTANDARD", "IFCMOVE", "IFCORDERACTION", "IFCPERMIT", "IFCELECTRICALCIRCUIT", "IFCELECTRICDISTRIBUTIONPOINT", "IFCPERFORMANCEHISTORY", "IFCTIMESERIESSCHEDULE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCSPACEPROGRAM" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectPlacement", new[] { "IFCPRODUCT" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCCOLUMN", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCELEMENTASSEMBLY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROXY", "IFCELECTRICDISTRIBUTIONPOINT" });
		destinationSchema.AddAttribute("Representation", new[] { "IFCPRODUCT" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCPRODUCT", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCCOLUMN", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSTOREY", "IFCCOVERING", "IFCELEMENTASSEMBLY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROXY", "IFCELECTRICDISTRIBUTIONPOINT" });
		destinationSchema.AddAttribute("AppliedLoad", new[] { "IFCSTRUCTURALACTIVITY" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" });
		destinationSchema.AddAttribute("GlobalOrLocal", new[] { "IFCSTRUCTURALACTIVITY", "IFCANNOTATIONFILLAREAOCCURRENCE" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING", "IFCANNOTATIONFILLAREAOCCURRENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DestabilizingLoad", new[] { "IFCSTRUCTURALACTION" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("CausedBy", new[] { "IFCSTRUCTURALACTION" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" });
		destinationSchema.AddAttribute("PredefinedType", new[] { "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALSURFACEMEMBER", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCFOOTING", "IFCPILE", "IFCTENDON", "IFCBEAMTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCOCCUPANT", "IFCSERVICELIFEFACTOR", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCSPACETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" }, new[] { "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCPROJECTORDERRECORD", "IFCFOOTING", "IFCPILE", "IFCTENDON", "IFCBEAMTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCOCCUPANT", "IFCSERVICELIFEFACTOR", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCSPACETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OrientationOf2DPlane", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("LoadedBy", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("HasResults", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("ProjectedOrTrue", new[] { "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION" }, new[] { "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActionType", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActionSource", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Coefficient", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Purpose", new[] { "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCDOCUMENTINFORMATION", "IFCADDRESS" }, new[] { "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDOCUMENTINFORMATION", "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TheoryType", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResultForLoadGroup", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" });
		destinationSchema.AddAttribute("IsLinear", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Thickness", new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCRIBPLATEPROFILEPROPERTIES", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCRIBPLATEPROFILEPROPERTIES", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SubsequentThickness", new[] { "IFCSTRUCTURALSURFACEMEMBERVARYING" }, new[] { "IFCSTRUCTURALSURFACEMEMBERVARYING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VaryingThicknessLocation", new[] { "IFCSTRUCTURALSURFACEMEMBERVARYING" }, new[] { "IFCSTRUCTURALSURFACEMEMBERVARYING" });
		destinationSchema.AddAttribute("RelatedObjects", new[] { "IFCRELASSOCIATES", "IFCRELASSIGNS", "IFCRELDECOMPOSES", "IFCRELDEFINES" }, new[] { "IFCRELASSOCIATESPROFILEPROPERTIES", "IFCRELASSOCIATES", "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELASSOCIATESAPPLIEDVALUE", "IFCRELSCHEDULESCOSTITEMS", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCRELASSOCIATESMATERIAL", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINES", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELOVERRIDESPROPERTIES", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT" });
		destinationSchema.AddAttribute("RelatingProfileProperties", new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" }, new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("ProfileSectionLocation", new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" }, new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("ProfileOrientation", new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" }, new[] { "IFCRELASSOCIATESPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("RelatedStructuralMember", new[] { "IFCRELCONNECTSSTRUCTURALELEMENT" }, new[] { "IFCRELCONNECTSSTRUCTURALELEMENT" });
		destinationSchema.AddAttribute("VaryingAppliedLoadLocation", new[] { "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" }, new[] { "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" });
		destinationSchema.AddAttribute("SubsequentAppliedLoads", new[] { "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" }, new[] { "IFCSTRUCTURALLINEARACTIONVARYING", "IFCSTRUCTURALPLANARACTIONVARYING" });
		destinationSchema.AddAttribute("ProfileName", new[] { "IFCPROFILEPROPERTIES", "IFCPROFILEDEF" }, new[] { "IFCPROFILEPROPERTIES", "IFCGENERALPROFILEPROPERTIES", "IFCRIBPLATEPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES", "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProfileDefinition", new[] { "IFCPROFILEPROPERTIES" }, new[] { "IFCPROFILEPROPERTIES", "IFCGENERALPROFILEPROPERTIES", "IFCRIBPLATEPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("TotalCrossSectionArea", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SteelGrade", new[] { "IFCREINFORCEMENTBARPROPERTIES", "IFCREINFORCINGELEMENT" }, new[] { "IFCREINFORCEMENTBARPROPERTIES", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BarSurface", new[] { "IFCREINFORCEMENTBARPROPERTIES", "IFCREINFORCINGBAR" }, new[] { "IFCREINFORCEMENTBARPROPERTIES", "IFCREINFORCINGBAR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EffectiveDepth", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("NominalBarDiameter", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarCount", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("SectionType", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("StartProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("EndProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("LongitudinalStartPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalEndPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransversePosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReinforcementRole", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SectionDefinition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("CrossSectionReinforcementDefinitions", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("PhysicalWeight", new[] { "IFCGENERALPROFILEPROPERTIES" }, new[] { "IFCGENERALPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Perimeter", new[] { "IFCGENERALPROFILEPROPERTIES" }, new[] { "IFCGENERALPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinimumPlateThickness", new[] { "IFCGENERALPROFILEPROPERTIES" }, new[] { "IFCGENERALPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaximumPlateThickness", new[] { "IFCGENERALPROFILEPROPERTIES" }, new[] { "IFCGENERALPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CrossSectionArea", new[] { "IFCGENERALPROFILEPROPERTIES", "IFCREINFORCINGBAR", "IFCTENDON" }, new[] { "IFCGENERALPROFILEPROPERTIES", "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES", "IFCREINFORCINGBAR", "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RibHeight", new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RibWidth", new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RibSpacing", new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Direction", new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "IFCRIBPLATEPROFILEPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TorsionalConstantX", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentOfInertiaYZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentOfInertiaY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentOfInertiaZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WarpingConstant", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearCentreZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearCentreY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearDeformationAreaZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearDeformationAreaY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaximumSectionModulusY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinimumSectionModulusY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaximumSectionModulusZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinimumSectionModulusZ", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TorsionalSectionModulus", new[] { "IFCSTRUCTURALPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CentreOfGravityInX", new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CentreOfGravityInY", new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCSTRUCTURALPROFILEPROPERTIES", "IFCSTRUCTURALSTEELPROFILEPROPERTIES", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearAreaZ", new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearAreaY", new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlasticShapeFactorY", new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlasticShapeFactorZ", new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "IFCSTRUCTURALSTEELPROFILEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ProcedureID", new[] { "IFCPROCEDURE" }, new[] { "IFCPROCEDURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProcedureType", new[] { "IFCPROCEDURE" }, new[] { "IFCPROCEDURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedProcedureType", new[] { "IFCPROCEDURE" }, new[] { "IFCPROCEDURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TaskId", new[] { "IFCTASK" }, new[] { "IFCTASK", "IFCMOVE", "IFCORDERACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Status", new[] { "IFCTASK", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCDOCUMENTINFORMATION" }, new[] { "IFCTASK", "IFCCOSTSCHEDULE", "IFCPROJECTORDER", "IFCMOVE", "IFCORDERACTION", "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WorkMethod", new[] { "IFCTASK" }, new[] { "IFCTASK", "IFCMOVE", "IFCORDERACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("IsMilestone", new[] { "IFCTASK" }, new[] { "IFCTASK", "IFCMOVE", "IFCORDERACTION" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Priority", new[] { "IFCTASK" }, new[] { "IFCTASK", "IFCMOVE", "IFCORDERACTION" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Identifier", new[] { "IFCWORKCONTROL", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCAPPROVAL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CreationDate", new[] { "IFCWORKCONTROL", "IFCOWNERHISTORY" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCOWNERHISTORY" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Creators", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" });
		destinationSchema.AddAttribute("Duration", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TotalFloat", new[] { "IFCWORKCONTROL", "IFCSCHEDULETIMECONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartTime", new[] { "IFCWORKCONTROL", "IFCTIMESERIES" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("FinishTime", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" });
		destinationSchema.AddAttribute("WorkControlType", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedControlType", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedObjectsType", new[] { "IFCRELASSIGNS" }, new[] { "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNS", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELSCHEDULESCOSTITEMS", "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingControl", new[] { "IFCRELASSIGNSTOCONTROL" }, new[] { "IFCRELASSIGNSTASKS", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOPROJECTORDER", "IFCRELSCHEDULESCOSTITEMS" });
		destinationSchema.AddAttribute("TimeForTask", new[] { "IFCRELASSIGNSTASKS" }, new[] { "IFCRELASSIGNSTASKS" });
		destinationSchema.AddAttribute("ActualStart", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("EarlyStart", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("LateStart", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("ScheduleStart", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("ActualFinish", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("EarlyFinish", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("LateFinish", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("ScheduleFinish", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("ScheduleDuration", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ActualDuration", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RemainingTime", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FreeFloat", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsCritical", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("StatusTime", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" });
		destinationSchema.AddAttribute("StartFloat", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FinishFloat", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Completion", new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "IFCSCHEDULETIMECONTROL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HasQuantities", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" });
		destinationSchema.AddAttribute("Discrimination", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quality", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Usage", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Unit", new[] { "IFCPHYSICALSIMPLEQUANTITY", "IFCTIMESERIES", "IFCDERIVEDUNITELEMENT", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE" }, new[] { "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCDERIVEDUNITELEMENT", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE" });
		destinationSchema.AddAttribute("AreaValue", new[] { "IFCQUANTITYAREA" }, new[] { "IFCQUANTITYAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CountValue", new[] { "IFCQUANTITYCOUNT" }, new[] { "IFCQUANTITYCOUNT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthValue", new[] { "IFCQUANTITYLENGTH" }, new[] { "IFCQUANTITYLENGTH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TimeValue", new[] { "IFCQUANTITYTIME" }, new[] { "IFCQUANTITYTIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VolumeValue", new[] { "IFCQUANTITYVOLUME" }, new[] { "IFCQUANTITYVOLUME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WeightValue", new[] { "IFCQUANTITYWEIGHT" }, new[] { "IFCQUANTITYWEIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Material", new[] { "IFCMATERIALPROPERTIES", "IFCMATERIALLAYER" }, new[] { "IFCMATERIALPROPERTIES", "IFCEXTENDEDMATERIALPROPERTIES", "IFCFUELPROPERTIES", "IFCGENERALMATERIALPROPERTIES", "IFCHYGROSCOPICMATERIALPROPERTIES", "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES", "IFCOPTICALMATERIALPROPERTIES", "IFCPRODUCTSOFCOMBUSTIONPROPERTIES", "IFCTHERMALMATERIALPROPERTIES", "IFCWATERPROPERTIES", "IFCMATERIALLAYER" });
		destinationSchema.AddAttribute("ExtendedProperties", new[] { "IFCEXTENDEDMATERIALPROPERTIES" }, new[] { "IFCEXTENDEDMATERIALPROPERTIES" });
		destinationSchema.AddAttribute("CombustionTemperature", new[] { "IFCFUELPROPERTIES" }, new[] { "IFCFUELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CarbonContent", new[] { "IFCFUELPROPERTIES" }, new[] { "IFCFUELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LowerHeatingValue", new[] { "IFCFUELPROPERTIES" }, new[] { "IFCFUELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HigherHeatingValue", new[] { "IFCFUELPROPERTIES" }, new[] { "IFCFUELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MolecularWeight", new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Porosity", new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MassDensity", new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "IFCGENERALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UpperVaporResistanceFactor", new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LowerVaporResistanceFactor", new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsothermalMoistureCapacity", new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VaporPermeability", new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MoistureDiffusivity", new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "IFCHYGROSCOPICMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DynamicViscosity", new[] { "IFCMECHANICALMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YoungModulus", new[] { "IFCMECHANICALMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearModulus", new[] { "IFCMECHANICALMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PoissonRatio", new[] { "IFCMECHANICALMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalExpansionCoefficient", new[] { "IFCMECHANICALMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES", "IFCMECHANICALMATERIALPROPERTIES", "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressiveStrength", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaxAggregateSize", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AdmixturesDescription", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Workability", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProtectivePoreRatio", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WaterImpermeability", new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "IFCMECHANICALCONCRETEMATERIALPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("YieldStress", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UltimateStress", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UltimateStrain", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HardeningModule", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ProportionalStress", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlasticStrain", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Relaxations", new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" }, new[] { "IFCMECHANICALSTEELMATERIALPROPERTIES" });
		destinationSchema.AddAttribute("VisibleTransmittance", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SolarTransmittance", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalIrTransmittance", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalIrEmissivityBack", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalIrEmissivityFront", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VisibleReflectanceBack", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VisibleReflectanceFront", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SolarReflectanceFront", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SolarReflectanceBack", new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "IFCOPTICALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SpecificHeatCapacity", new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES", "IFCTHERMALMATERIALPROPERTIES" }, new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES", "IFCTHERMALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("N20Content", new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("COContent", new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CO2Content", new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "IFCPRODUCTSOFCOMBUSTIONPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RelaxationValue", new[] { "IFCRELAXATION" }, new[] { "IFCRELAXATION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InitialStress", new[] { "IFCRELAXATION" }, new[] { "IFCRELAXATION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BoilingPoint", new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FreezingPoint", new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalConductivity", new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "IFCTHERMALMATERIALPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsPotable", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Hardness", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AlkalinityConcentration", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AcidityConcentration", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ImpuritiesContent", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PHLevel", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DissolvedSolidsContent", new[] { "IFCWATERPROPERTIES" }, new[] { "IFCWATERPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaterialClassifications", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("ClassifiedMaterial", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("LayerThickness", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsVentilated", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaterialLayers", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" });
		destinationSchema.AddAttribute("LayerSetName", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ForLayerSet", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" });
		destinationSchema.AddAttribute("LayerSetDirection", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DirectionSense", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetFromReferenceLine", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Materials", new[] { "IFCMATERIALLIST" }, new[] { "IFCMATERIALLIST" });
		destinationSchema.AddAttribute("MainPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondaryPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousIntensity", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightDistributionCurve", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DistributionData", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" });
		destinationSchema.AddAttribute("LightColour", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" });
		destinationSchema.AddAttribute("AmbientIntensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Intensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Orientation", new[] { "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCFACEBOUND", "IFCORIENTEDEDGE", "IFCVECTOR" }, new[] { "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCFACEBOUND", "IFCFACEOUTERBOUND", "IFCORIENTEDEDGE", "IFCVECTOR" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Position", new[] { "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCPARAMETERIZEDPROFILEDEF", "IFCCONIC", "IFCELEMENTARYSURFACE", "IFCSWEPTSURFACE", "IFCCSGPRIMITIVE3D", "IFCSWEPTAREASOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF", "IFCCIRCLE", "IFCCONIC", "IFCELEMENTARYSURFACE", "IFCELLIPSE", "IFCPLANE", "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION", "IFCBLOCK", "IFCCSGPRIMITIVE3D", "IFCEXTRUDEDAREASOLID", "IFCSWEPTAREASOLID", "IFCPOLYGONALBOUNDEDHALFSPACE", "IFCRECTANGULARPYRAMID", "IFCREVOLVEDAREASOLID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("ColourAppearance", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("ColourTemperature", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousFlux", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightEmissionSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LightDistributionDataSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("Radius", new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCROUNDEDEDGEFEATURE", "IFCCIRCLEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF", "IFCCIRCLE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCROUNDEDEDGEFEATURE", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF", "IFCCIRCLE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConstantAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DistanceAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuadricAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConcentrationExponent", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SpreadAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BeamWidthAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AssignedItems", new[] { "IFCPRESENTATIONLAYERASSIGNMENT" }, new[] { "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("LayerOn", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("LayerFrozen", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("LayerBlocked", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("LayerStyles", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("EndTime", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("TimeSeriesDataType", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DataOrigin", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedDataOrigin", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Values", new[] { "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("TimeStamp", new[] { "IFCIRREGULARTIMESERIESVALUE" }, new[] { "IFCIRREGULARTIMESERIESVALUE" });
		destinationSchema.AddAttribute("ListValues", new[] { "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE", "IFCPROPERTYLISTVALUE" }, new[] { "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE", "IFCPROPERTYLISTVALUE" });
		destinationSchema.AddAttribute("TimeStep", new[] { "IFCREGULARTIMESERIES" }, new[] { "IFCREGULARTIMESERIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReferencedTimeSeries", new[] { "IFCTIMESERIESREFERENCERELATIONSHIP" }, new[] { "IFCTIMESERIESREFERENCERELATIONSHIP" });
		destinationSchema.AddAttribute("TimeSeriesReferences", new[] { "IFCTIMESERIESREFERENCERELATIONSHIP" }, new[] { "IFCTIMESERIESREFERENCERELATIONSHIP" });
		destinationSchema.AddAttribute("ContextIdentifier", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ContextType", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CoordinateSpaceDimension", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Precision", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WorldCoordinateSystem", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TrueNorth", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("ParentContext", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TargetScale", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedTargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Representations", new[] { "IFCPRODUCTREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE" });
		destinationSchema.AddAttribute("RepresentedMaterial", new[] { "IFCMATERIALDEFINITIONREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION" });
		destinationSchema.AddAttribute("ContextOfItems", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("RepresentationIdentifier", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationType", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Items", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("ShapeRepresentations", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("ProductDefinitional", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("PartOfProductDefinitionShape", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("ApplicableOccurrence", new[] { "IFCTYPEOBJECT" }, new[] { "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCDOORSTYLE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCWINDOWSTYLE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERINGTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasPropertySets", new[] { "IFCTYPEOBJECT" }, new[] { "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCDOORSTYLE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCWINDOWSTYLE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERINGTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" });
		destinationSchema.AddAttribute("RepresentationMaps", new[] { "IFCTYPEPRODUCT" }, new[] { "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCDOORSTYLE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCWINDOWSTYLE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERINGTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" });
		destinationSchema.AddAttribute("Tag", new[] { "IFCTYPEPRODUCT", "IFCELEMENT", "IFCPROXY" }, new[] { "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCDISCRETEACCESSORY", "IFCELEMENTCOMPONENT", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCROUNDEDEDGEFEATURE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTCOMPONENT", "IFCBUILDINGELEMENT", "IFCFOOTING", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTYLE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCROOF", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTYLE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCELEMENTASSEMBLY", "IFCFEATUREELEMENTADDITION", "IFCFURNISHINGELEMENT", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCELECTRICALELEMENT", "IFCEQUIPMENTELEMENT", "IFCPROXY", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONPOINT", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElementType", new[] { "IFCELEMENTTYPE" }, new[] { "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCELEMENTTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCDISCRETEACCESSORYTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTTYPE", "IFCCOLUMNTYPE", "IFCCURTAINWALLTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCWALLTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCOVERINGTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCTRANSPORTELEMENTTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCGASTERMINALTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLESEGMENTTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICHEATERTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ControlElementId", new[] { "IFCDISTRIBUTIONCONTROLELEMENT" }, new[] { "IFCDISTRIBUTIONCONTROLELEMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FlowDirection", new[] { "IFCDISTRIBUTIONPORT" }, new[] { "IFCDISTRIBUTIONPORT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedControlElements", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("RelatingFlowElement", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("EnergySequence", new[] { "IFCENERGYPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedEnergySequence", new[] { "IFCENERGYPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES", "IFCENERGYPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElectricCurrentType", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InputVoltage", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InputFrequency", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FullLoadCurrent", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinimumCircuitCurrent", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaximumPowerInput", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RatedPowerInput", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InputPhase", new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "IFCELECTRICALBASEPROPERTIES" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("PropertySource", new[] { "IFCFLUIDFLOWPROPERTIES", "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES", "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FlowConditionTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("VelocityTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("FlowrateTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("Fluid", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("PressureTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("UserDefinedPropertySource", new[] { "IFCFLUIDFLOWPROPERTIES", "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES", "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TemperatureSingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WetBulbTemperatureSingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WetBulbTemperatureTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("TemperatureTimeSeries", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("FlowrateSingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" });
		destinationSchema.AddAttribute("FlowConditionSingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VelocitySingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PressureSingleValue", new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "IFCFLUIDFLOWPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsAttenuating", new[] { "IFCSOUNDPROPERTIES" }, new[] { "IFCSOUNDPROPERTIES" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("SoundScale", new[] { "IFCSOUNDPROPERTIES" }, new[] { "IFCSOUNDPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SoundValues", new[] { "IFCSOUNDPROPERTIES" }, new[] { "IFCSOUNDPROPERTIES" });
		destinationSchema.AddAttribute("SoundLevelTimeSeries", new[] { "IFCSOUNDVALUE" }, new[] { "IFCSOUNDVALUE" });
		destinationSchema.AddAttribute("Frequency", new[] { "IFCSOUNDVALUE" }, new[] { "IFCSOUNDVALUE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SoundLevelSingleValue", new[] { "IFCSOUNDVALUE" }, new[] { "IFCSOUNDVALUE" });
		destinationSchema.AddAttribute("ApplicableValueRatio", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalLoadSource", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SourceDescription", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaximumValue", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinimumValue", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThermalLoadTimeSeriesValues", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" });
		destinationSchema.AddAttribute("UserDefinedThermalLoadSource", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ThermalLoadType", new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "IFCSPACETHERMALLOADPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("NominalDiameter", new[] { "IFCMECHANICALFASTENER", "IFCREINFORCINGBAR", "IFCTENDON" }, new[] { "IFCMECHANICALFASTENER", "IFCREINFORCINGBAR", "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("NominalLength", new[] { "IFCMECHANICALFASTENER" }, new[] { "IFCMECHANICALFASTENER" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FeatureLength", new[] { "IFCEDGEFEATURE" }, new[] { "IFCCHAMFEREDGEFEATURE", "IFCEDGEFEATURE", "IFCROUNDEDEDGEFEATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Width", new[] { "IFCCHAMFEREDGEFEATURE", "IFCPIXELTEXTURE", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "IFCCHAMFEREDGEFEATURE", "IFCPIXELTEXTURE", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double", "xs:integer" });
		destinationSchema.AddAttribute("Height", new[] { "IFCCHAMFEREDGEFEATURE", "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "IFCCHAMFEREDGEFEATURE", "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "xs:double", "xs:integer" });
		destinationSchema.AddAttribute("SubmittedBy", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" });
		destinationSchema.AddAttribute("PreparedBy", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" });
		destinationSchema.AddAttribute("SubmittedOn", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" });
		destinationSchema.AddAttribute("TargetUsers", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" });
		destinationSchema.AddAttribute("UpdateDate", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" });
		destinationSchema.AddAttribute("ID", new[] { "IFCCOSTSCHEDULE", "IFCPROJECTORDER" }, new[] { "IFCCOSTSCHEDULE", "IFCPROJECTORDER" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Records", new[] { "IFCPROJECTORDERRECORD" }, new[] { "IFCPROJECTORDERRECORD" });
		destinationSchema.AddAttribute("RelatingAppliedValue", new[] { "IFCRELASSOCIATESAPPLIEDVALUE" }, new[] { "IFCRELASSOCIATESAPPLIEDVALUE" });
		destinationSchema.AddAttribute("Dimensions", new[] { "IFCNAMEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCSIUNIT" });
		destinationSchema.AddAttribute("UnitType", new[] { "IFCNAMEDUNIT", "IFCDERIVEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCDERIVEDUNIT", "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConversionFactor", new[] { "IFCCONVERSIONBASEDUNIT" }, new[] { "IFCCONVERSIONBASEDUNIT" });
		destinationSchema.AddAttribute("Elements", new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICSET" }, new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICCURVESET", "IFCGEOMETRICSET" });
		destinationSchema.AddAttribute("UserDefinedType", new[] { "IFCDERIVEDUNIT" }, new[] { "IFCDERIVEDUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Exponent", new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MassExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TimeExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ElectricCurrentExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ThermodynamicTemperatureExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("AmountOfSubstanceExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LuminousIntensityExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ValueComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("UnitComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("Currency", new[] { "IFCMONETARYUNIT" }, new[] { "IFCMONETARYUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Prefix", new[] { "IFCSIUNIT" }, new[] { "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Units", new[] { "IFCUNITASSIGNMENT" }, new[] { "IFCUNITASSIGNMENT" });
		destinationSchema.AddAttribute("UsageName", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasProperties", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" });
		destinationSchema.AddAttribute("UpperBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("LowerBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("DependingProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("DependantProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("Expression", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EnumerationValues", new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" }, new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" });
		destinationSchema.AddAttribute("EnumerationReference", new[] { "IFCPROPERTYENUMERATEDVALUE" }, new[] { "IFCPROPERTYENUMERATEDVALUE" });
		destinationSchema.AddAttribute("PropertyReference", new[] { "IFCPROPERTYREFERENCEVALUE" }, new[] { "IFCPROPERTYREFERENCEVALUE" });
		destinationSchema.AddAttribute("NominalValue", new[] { "IFCPROPERTYSINGLEVALUE" }, new[] { "IFCPROPERTYSINGLEVALUE" });
		destinationSchema.AddAttribute("DefiningValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefiningUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("Red", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Green", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Blue", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Location", new[] { "IFCEXTERNALREFERENCE", "IFCPLACEMENT" }, new[] { "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDSYMBOL", "IFCAXIS1PLACEMENT", "IFCPLACEMENT", "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTREFERENCE", "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ItemReference", new[] { "IFCEXTERNALREFERENCE" }, new[] { "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDSYMBOL", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTREFERENCE", "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SizeInX", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SizeInY", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Placement", new[] { "IFCPLANARBOX", "IFCTEXTLITERAL" }, new[] { "IFCPLANARBOX", "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" });
		destinationSchema.AddAttribute("FontFamily", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontStyle", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontVariant", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontWeight", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontSize", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" });
		destinationSchema.AddAttribute("CfsFaces", new[] { "IFCCONNECTEDFACESET" }, new[] { "IFCCLOSEDSHELL", "IFCCONNECTEDFACESET", "IFCOPENSHELL" });
		destinationSchema.AddAttribute("EdgeStart", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeEnd", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeGeometry", new[] { "IFCEDGECURVE" }, new[] { "IFCEDGECURVE" });
		destinationSchema.AddAttribute("SameSense", new[] { "IFCEDGECURVE", "IFCFACESURFACE", "IFCCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "IFCEDGECURVE", "IFCFACESURFACE", "IFCCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("EdgeList", new[] { "IFCEDGELOOP", "IFCPATH" }, new[] { "IFCEDGELOOP", "IFCPATH" });
		destinationSchema.AddAttribute("Bounds", new[] { "IFCFACE" }, new[] { "IFCFACE", "IFCFACESURFACE" });
		destinationSchema.AddAttribute("Bound", new[] { "IFCFACEBOUND" }, new[] { "IFCFACEBOUND", "IFCFACEOUTERBOUND" });
		destinationSchema.AddAttribute("FaceSurface", new[] { "IFCFACESURFACE" }, new[] { "IFCFACESURFACE" });
		destinationSchema.AddAttribute("EdgeElement", new[] { "IFCORIENTEDEDGE" }, new[] { "IFCORIENTEDEDGE" });
		destinationSchema.AddAttribute("Polygon", new[] { "IFCPOLYLOOP" }, new[] { "IFCPOLYLOOP" });
		destinationSchema.AddAttribute("ParentEdge", new[] { "IFCSUBEDGE" }, new[] { "IFCSUBEDGE" });
		destinationSchema.AddAttribute("LoopVertex", new[] { "IFCVERTEXLOOP" }, new[] { "IFCVERTEXLOOP" });
		destinationSchema.AddAttribute("VertexGeometry", new[] { "IFCVERTEXPOINT" }, new[] { "IFCVERTEXPOINT" });
		destinationSchema.AddAttribute("ConstructionType", new[] { "IFCPILE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCPILE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DefinitionType", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReinforcementSectionDefinitions", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" });
		destinationSchema.AddAttribute("BarLength", new[] { "IFCREINFORCINGBAR" }, new[] { "IFCREINFORCINGBAR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarRole", new[] { "IFCREINFORCINGBAR" }, new[] { "IFCREINFORCINGBAR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MeshLength", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MeshWidth", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarNominalDiameter", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarNominalDiameter", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarCrossSectionArea", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarCrossSectionArea", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarSpacing", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarSpacing", new[] { "IFCREINFORCINGMESH" }, new[] { "IFCREINFORCINGMESH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionForce", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PreStress", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrictionCoefficient", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AnchorageSlip", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinCurvatureRadius", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByAreaX", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByAreaY", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessByAreaZ", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WarpingStiffness", new[] { "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageX", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageY", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageZ", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceX", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceY", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceZ", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Distortion", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WarpingMoment", new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaT_Constant", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaT_Y", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaT_Z", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RepeatS", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("RepeatT", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("TextureType", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextureTransform", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("RasterFormat", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RasterCode", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("CurveFont", new[] { "IFCCURVESTYLE", "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLE", "IFCCURVESTYLEFONTANDSCALING" });
		destinationSchema.AddAttribute("CurveWidth", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("CurveColour", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("PatternList", new[] { "IFCCURVESTYLEFONT" }, new[] { "IFCCURVESTYLEFONT" });
		destinationSchema.AddAttribute("CurveFontScaling", new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InvisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FillStyles", new[] { "IFCFILLAREASTYLE" }, new[] { "IFCFILLAREASTYLE" });
		destinationSchema.AddAttribute("HatchLineAppearance", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("StartOfNextHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PointOfReferenceHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PatternStart", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("HatchLineAngle", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TilingPattern", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("Tiles", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("TilingScale", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UrlReference", new[] { "IFCIMAGETEXTURE" }, new[] { "IFCIMAGETEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ColourComponents", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Pixel", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("Side", new[] { "IFCSURFACESTYLE" }, new[] { "IFCSURFACESTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DiffuseTransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("DiffuseReflectionColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("TransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("RefractionIndex", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DispersionFactor", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceColour", new[] { "IFCSURFACESTYLESHADING" }, new[] { "IFCSURFACESTYLERENDERING", "IFCSURFACESTYLESHADING" });
		destinationSchema.AddAttribute("Transparency", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DiffuseColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectionColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularHighlight", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceMethod", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Textures", new[] { "IFCSURFACESTYLEWITHTEXTURES" }, new[] { "IFCSURFACESTYLEWITHTEXTURES" });
		destinationSchema.AddAttribute("TextCharacterAppearance", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextFontStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("Colour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("BackgroundColour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("TextIndent", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextAlign", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextDecoration", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LetterSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("WordSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextTransform", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LineHeight", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("Symbol", new[] { "IFCFILLAREASTYLETILESYMBOLWITHSTYLE" }, new[] { "IFCFILLAREASTYLETILESYMBOLWITHSTYLE" });
		destinationSchema.AddAttribute("RepeatFactor", new[] { "IFCONEDIRECTIONREPEATFACTOR" }, new[] { "IFCONEDIRECTIONREPEATFACTOR", "IFCTWODIRECTIONREPEATFACTOR" });
		destinationSchema.AddAttribute("StyleOfSymbol", new[] { "IFCSYMBOLSTYLE" }, new[] { "IFCSYMBOLSTYLE" });
		destinationSchema.AddAttribute("BoxHeight", new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BoxWidth", new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BoxSlantAngle", new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BoxRotateAngle", new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CharacterSpacing", new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" }, new[] { "IFCTEXTSTYLEWITHBOXCHARACTERISTICS" });
		destinationSchema.AddAttribute("SecondRepeatFactor", new[] { "IFCTWODIRECTIONREPEATFACTOR" }, new[] { "IFCTWODIRECTIONREPEATFACTOR" });
		destinationSchema.AddAttribute("OverallHeight", new[] { "IFCDOOR", "IFCWINDOW", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCDOOR", "IFCWINDOW", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OverallWidth", new[] { "IFCDOOR", "IFCWINDOW", "IFCISHAPEPROFILEDEF" }, new[] { "IFCDOOR", "IFCWINDOW", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningDepth", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShapeAspectStyle", new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" });
		destinationSchema.AddAttribute("PanelDepth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelOperation", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PanelWidth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelPosition", new[] { "IFCDOORPANELPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OperationType", new[] { "IFCDOORSTYLE", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCTRANSPORTELEMENT", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "IFCDOORSTYLE", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCTRANSPORTELEMENT", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParameterTakesPrecedence", new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Sizeable", new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ShapeType", new[] { "IFCRAMP", "IFCROOF", "IFCSTAIR" }, new[] { "IFCRAMP", "IFCROOF", "IFCSTAIR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConnectionGeometry", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELSPACEBOUNDARY" });
		destinationSchema.AddAttribute("RelatedElement", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS" });
		destinationSchema.AddAttribute("RelatingPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("NumberOfRiser", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("NumberOfTreads", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RiserHeight", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TreadLength", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MullionThickness", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrameDepth", new[] { "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrameThickness", new[] { "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "IFCWINDOWPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AssetID", new[] { "IFCASSET" }, new[] { "IFCASSET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OriginalValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("CurrentValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("TotalReplacementCost", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("Owner", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("User", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("ResponsiblePerson", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("IncorporationDate", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("DepreciatedValue", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("AssemblyPlace", new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InventoryType", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Jurisdiction", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("ResponsiblePersons", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("LastUpdateDate", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("TheActor", new[] { "IFCACTOR" }, new[] { "IFCOCCUPANT", "IFCACTOR" });
		destinationSchema.AddAttribute("RelatingActor", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("ActingRole", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELOCCUPIESSPACES", "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("ServiceLifeType", new[] { "IFCSERVICELIFE" }, new[] { "IFCSERVICELIFE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ServiceLifeDuration", new[] { "IFCSERVICELIFE" }, new[] { "IFCSERVICELIFE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UpperValue", new[] { "IFCSERVICELIFEFACTOR" }, new[] { "IFCSERVICELIFEFACTOR" });
		destinationSchema.AddAttribute("MostUsedValue", new[] { "IFCSERVICELIFEFACTOR" }, new[] { "IFCSERVICELIFEFACTOR" });
		destinationSchema.AddAttribute("LowerValue", new[] { "IFCSERVICELIFEFACTOR" }, new[] { "IFCSERVICELIFEFACTOR" });
		destinationSchema.AddAttribute("ProfileType", new[] { "IFCPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OuterCurve", new[] { "IFCARBITRARYCLOSEDPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("Curve", new[] { "IFCARBITRARYOPENPROFILEDEF" }, new[] { "IFCARBITRARYOPENPROFILEDEF", "IFCCENTERLINEPROFILEDEF" });
		destinationSchema.AddAttribute("InnerCurves", new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" }, new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("OverallDepth", new[] { "IFCISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebThickness", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeThickness", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FilletRadius", new[] { "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeWidth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeFilletRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WallThickness", new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Profiles", new[] { "IFCCOMPOSITEPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF" });
		destinationSchema.AddAttribute("Label", new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Depth", new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Girth", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InternalFilletRadius", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ParentProfile", new[] { "IFCDERIVEDPROFILEDEF" }, new[] { "IFCDERIVEDPROFILEDEF" });
		destinationSchema.AddAttribute("Operator", new[] { "IFCDERIVEDPROFILEDEF", "IFCBOOLEANRESULT" }, new[] { "IFCDERIVEDPROFILEDEF", "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SemiAxis1", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SemiAxis2", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EdgeRadius", new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LegSlope", new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InnerFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OuterFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RoundingRadius", new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXOffset", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeWidth", new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeEdgeRadius", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebEdgeRadius", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebSlope", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeSlope", new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseWidth2", new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HeadWidth", new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HeadDepth2", new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HeadDepth3", new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseWidth4", new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseDepth1", new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseDepth2", new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF", "IFCCRANERAILFSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseDepth3", new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "IFCCRANERAILASHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ApplicationDeveloper", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" });
		destinationSchema.AddAttribute("Version", new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationFullName", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationIdentifier", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwningUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("OwningApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("State", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ChangeAction", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LastModifiedDate", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LastModifyingUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("LastModifyingApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("Rows", new[] { "IFCTABLE" }, new[] { "IFCTABLE" });
		destinationSchema.AddAttribute("RowCells", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" });
		destinationSchema.AddAttribute("IsHeading", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("OuterBoundary", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("InnerBoundaries", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("Literal", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Path", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Extent", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" });
		destinationSchema.AddAttribute("BoxAlignment", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Mode", new[] { "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Parameter", new[] { "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCTEXTURECOORDINATEGENERATOR" });
		destinationSchema.AddAttribute("TextureMaps", new[] { "IFCTEXTUREMAP" }, new[] { "IFCTEXTUREMAP" });
		destinationSchema.AddAttribute("Coordinates", new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT" }, new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FillStyleTarget", new[] { "IFCANNOTATIONFILLAREAOCCURRENCE" }, new[] { "IFCANNOTATIONFILLAREAOCCURRENCE" });
		destinationSchema.AddAttribute("TextureCoordinates", new[] { "IFCANNOTATIONSURFACE" }, new[] { "IFCANNOTATIONSURFACE" });
		destinationSchema.AddAttribute("Definition", new[] { "IFCDEFINEDSYMBOL" }, new[] { "IFCDEFINEDSYMBOL" });
		destinationSchema.AddAttribute("Target", new[] { "IFCDEFINEDSYMBOL" }, new[] { "IFCDEFINEDSYMBOL" });
		destinationSchema.AddAttribute("TextureVertices", new[] { "IFCVERTEXBASEDTEXTUREMAP" }, new[] { "IFCVERTEXBASEDTEXTUREMAP" });
		destinationSchema.AddAttribute("TexturePoints", new[] { "IFCVERTEXBASEDTEXTUREMAP" }, new[] { "IFCVERTEXBASEDTEXTUREMAP" });
		destinationSchema.AddAttribute("LongName", new[] { "IFCSPATIALSTRUCTUREELEMENT", "IFCPROJECT" }, new[] { "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGSTOREY", "IFCSITE", "IFCSPACE", "IFCPROJECT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CompositionType", new[] { "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY" }, new[] { "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSTOREY", "IFCSITE", "IFCSPACE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElevationOfRefHeight", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ElevationOfTerrain", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BuildingAddress", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" });
		destinationSchema.AddAttribute("Elevation", new[] { "IFCBUILDINGSTOREY" }, new[] { "IFCBUILDINGSTOREY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MethodOfMeasurement", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quantities", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" });
		destinationSchema.AddAttribute("UAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("VAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("WAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("RelatingMaterial", new[] { "IFCRELASSOCIATESMATERIAL" }, new[] { "IFCRELASSOCIATESMATERIAL" });
		destinationSchema.AddAttribute("RelatingPort", new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" }, new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" });
		destinationSchema.AddAttribute("RelatedPort", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElement", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElements", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" });
		destinationSchema.AddAttribute("ConnectionType", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedElements", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingStructure", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingBuildingElement", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RelatedCoverings", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" });
		destinationSchema.AddAttribute("RelatedSpace", new[] { "IFCRELCOVERSSPACES" }, new[] { "IFCRELCOVERSSPACES" });
		destinationSchema.AddAttribute("RelatingOpeningElement", new[] { "IFCRELFILLSELEMENT" }, new[] { "IFCRELFILLSELEMENT" });
		destinationSchema.AddAttribute("RelatedBuildingElement", new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY" });
		destinationSchema.AddAttribute("RelatedFeatureElement", new[] { "IFCRELPROJECTSELEMENT" }, new[] { "IFCRELPROJECTSELEMENT" });
		destinationSchema.AddAttribute("RelatingSystem", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("RelatedBuildings", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("RelatingSpace", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY" });
		destinationSchema.AddAttribute("PhysicalOrVirtualBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InternalOrExternalBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedOpeningElement", new[] { "IFCRELVOIDSELEMENT" }, new[] { "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RefLatitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefLongitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefElevation", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LandTitleNumber", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SiteAddress", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("InteriorOrExteriorSpace", new[] { "IFCSPACE" }, new[] { "IFCSPACE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElevationWithFlooring", new[] { "IFCSPACE" }, new[] { "IFCSPACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CapacityByWeight", new[] { "IFCTRANSPORTELEMENT" }, new[] { "IFCTRANSPORTELEMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CapacityByNumber", new[] { "IFCTRANSPORTELEMENT" }, new[] { "IFCTRANSPORTELEMENT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Phase", new[] { "IFCPROJECT" }, new[] { "IFCPROJECT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationContexts", new[] { "IFCPROJECT" }, new[] { "IFCPROJECT" });
		destinationSchema.AddAttribute("UnitsInContext", new[] { "IFCPROJECT" }, new[] { "IFCPROJECT" });
		destinationSchema.AddAttribute("ProxyType", new[] { "IFCPROXY" }, new[] { "IFCPROXY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingObject", new[] { "IFCRELDECOMPOSES" }, new[] { "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELNESTS" });
		destinationSchema.AddAttribute("RelatingGroup", new[] { "IFCRELASSIGNSTOGROUP" }, new[] { "IFCRELASSIGNSTOGROUP" });
		destinationSchema.AddAttribute("RelatingProcess", new[] { "IFCRELASSIGNSTOPROCESS", "IFCRELSEQUENCE" }, new[] { "IFCRELASSIGNSTOPROCESS", "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("QuantityInProcess", new[] { "IFCRELASSIGNSTOPROCESS" }, new[] { "IFCRELASSIGNSTOPROCESS" });
		destinationSchema.AddAttribute("RelatingProduct", new[] { "IFCRELASSIGNSTOPRODUCT" }, new[] { "IFCRELASSIGNSTOPRODUCT" });
		destinationSchema.AddAttribute("RelatingResource", new[] { "IFCRELASSIGNSTORESOURCE" }, new[] { "IFCRELASSIGNSTORESOURCE" });
		destinationSchema.AddAttribute("RelatingClassification", new[] { "IFCRELASSOCIATESCLASSIFICATION" }, new[] { "IFCRELASSOCIATESCLASSIFICATION" });
		destinationSchema.AddAttribute("RelatingDocument", new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatingLibrary", new[] { "IFCRELASSOCIATESLIBRARY" }, new[] { "IFCRELASSOCIATESLIBRARY" });
		destinationSchema.AddAttribute("RelatingPropertyDefinition", new[] { "IFCRELDEFINESBYPROPERTIES" }, new[] { "IFCRELDEFINESBYPROPERTIES", "IFCRELOVERRIDESPROPERTIES" });
		destinationSchema.AddAttribute("RelatingType", new[] { "IFCRELDEFINESBYTYPE" }, new[] { "IFCRELDEFINESBYTYPE" });
		destinationSchema.AddAttribute("RelatedProcess", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("TimeLag", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SequenceType", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OverridingProperties", new[] { "IFCRELOVERRIDESPROPERTIES" }, new[] { "IFCRELOVERRIDESPROPERTIES" });
		destinationSchema.AddAttribute("Segments", new[] { "IFCCOMPOSITECURVE" }, new[] { "IFC2DCOMPOSITECURVE", "IFCCOMPOSITECURVE" });
		destinationSchema.AddAttribute("SelfIntersect", new[] { "IFCCOMPOSITECURVE", "IFCBSPLINECURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "IFC2DCOMPOSITECURVE", "IFCCOMPOSITECURVE", "IFCBEZIERCURVE", "IFCBSPLINECURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCRATIONALBEZIERCURVE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Axis", new[] { "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCREVOLVEDAREASOLID" }, new[] { "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCREVOLVEDAREASOLID" });
		destinationSchema.AddAttribute("RefDirection", new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCOFFSETCURVE3D" }, new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCOFFSETCURVE3D" });
		destinationSchema.AddAttribute("Degree", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBEZIERCURVE", "IFCBSPLINECURVE", "IFCRATIONALBEZIERCURVE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ControlPointsList", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBEZIERCURVE", "IFCBSPLINECURVE", "IFCRATIONALBEZIERCURVE" });
		destinationSchema.AddAttribute("CurveForm", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBEZIERCURVE", "IFCBSPLINECURVE", "IFCRATIONALBEZIERCURVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ClosedCurve", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBEZIERCURVE", "IFCBSPLINECURVE", "IFCRATIONALBEZIERCURVE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Axis1", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Axis2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("LocalOrigin", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Scale2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Axis3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Transition", new[] { "IFCCOMPOSITECURVESEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParentCurve", new[] { "IFCCOMPOSITECURVESEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT" });
		destinationSchema.AddAttribute("BasisSurface", new[] { "IFCCURVEBOUNDEDPLANE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCCURVEBOUNDEDPLANE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" });
		destinationSchema.AddAttribute("DirectionRatios", new[] { "IFCDIRECTION" }, new[] { "IFCDIRECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Pnt", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("Dir", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("MappingSource", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("MappingTarget", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("BasisCurve", new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" }, new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Distance", new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameter", new[] { "IFCPOINTONCURVE" }, new[] { "IFCPOINTONCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterU", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterV", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Points", new[] { "IFCPOLYLINE" }, new[] { "IFCPOLYLINE" });
		destinationSchema.AddAttribute("WeightsData", new[] { "IFCRATIONALBEZIERCURVE" }, new[] { "IFCRATIONALBEZIERCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Usense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Vsense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("MappingOrigin", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("MappedRepresentation", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("SweptCurve", new[] { "IFCSWEPTSURFACE" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("ExtrudedDirection", new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" });
		destinationSchema.AddAttribute("AxisPosition", new[] { "IFCSURFACEOFREVOLUTION" }, new[] { "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("Trim1", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Trim2", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("SenseAgreement", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("MasterRepresentation", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Magnitude", new[] { "IFCVECTOR" }, new[] { "IFCVECTOR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ZLength", new[] { "IFCBLOCK" }, new[] { "IFCBLOCK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("SecondOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("Corner", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" });
		destinationSchema.AddAttribute("ZDim", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseSurface", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("AgreementFlag", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Enclosure", new[] { "IFCBOXEDHALFSPACE" }, new[] { "IFCBOXEDHALFSPACE" });
		destinationSchema.AddAttribute("TreeRootExpression", new[] { "IFCCSGSOLID" }, new[] { "IFCCSGSOLID" });
		destinationSchema.AddAttribute("SweptArea", new[] { "IFCSWEPTAREASOLID" }, new[] { "IFCEXTRUDEDAREASOLID", "IFCSWEPTAREASOLID", "IFCREVOLVEDAREASOLID", "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("FbsmFaces", new[] { "IFCFACEBASEDSURFACEMODEL" }, new[] { "IFCFACEBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("Outer", new[] { "IFCMANIFOLDSOLIDBREP" }, new[] { "IFCFACETEDBREP", "IFCMANIFOLDSOLIDBREP", "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("Voids", new[] { "IFCFACETEDBREPWITHVOIDS" }, new[] { "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("PolygonalBoundary", new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("Angle", new[] { "IFCREVOLVEDAREASOLID" }, new[] { "IFCREVOLVEDAREASOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomRadius", new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SpineCurve", new[] { "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("CrossSections", new[] { "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("CrossSectionPositions", new[] { "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("SbsmBoundary", new[] { "IFCSHELLBASEDSURFACEMODEL" }, new[] { "IFCSHELLBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("Directrix", new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" });
		destinationSchema.AddAttribute("StartParam", new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndParam", new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReferenceSurface", new[] { "IFCSURFACECURVESWEPTAREASOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("InnerRadius", new[] { "IFCSWEPTDISKSOLID" }, new[] { "IFCSWEPTDISKSOLID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CurveOnRelatingElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("CurveOnRelatedElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatingElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatedElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("EccentricityInX", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInY", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInZ", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LocationAtRelatingElement", new[] { "IFCCONNECTIONPORTGEOMETRY" }, new[] { "IFCCONNECTIONPORTGEOMETRY" });
		destinationSchema.AddAttribute("LocationAtRelatedElement", new[] { "IFCCONNECTIONPORTGEOMETRY" }, new[] { "IFCCONNECTIONPORTGEOMETRY" });
		destinationSchema.AddAttribute("ProfileOfPort", new[] { "IFCCONNECTIONPORTGEOMETRY" }, new[] { "IFCCONNECTIONPORTGEOMETRY" });
		destinationSchema.AddAttribute("SurfaceOnRelatingElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("SurfaceOnRelatedElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("AxisTag", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AxisCurve", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" });
		destinationSchema.AddAttribute("PlacementLocation", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("PlacementRefDirection", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("PlacementRelTo", new[] { "IFCLOCALPLACEMENT" }, new[] { "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("RelativePlacement", new[] { "IFCLOCALPLACEMENT" }, new[] { "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("IntersectingAxes", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" });
		destinationSchema.AddAttribute("OffsetDistances", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RequestID", new[] { "IFCACTIONREQUEST" }, new[] { "IFCACTIONREQUEST" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Criterion", new[] { "IFCCONDITIONCRITERION" }, new[] { "IFCCONDITIONCRITERION" });
		destinationSchema.AddAttribute("CriterionDateTime", new[] { "IFCCONDITIONCRITERION" }, new[] { "IFCCONDITIONCRITERION" });
		destinationSchema.AddAttribute("MoveFrom", new[] { "IFCMOVE" }, new[] { "IFCMOVE" });
		destinationSchema.AddAttribute("MoveTo", new[] { "IFCMOVE" }, new[] { "IFCMOVE" });
		destinationSchema.AddAttribute("PunchList", new[] { "IFCMOVE" }, new[] { "IFCMOVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActionID", new[] { "IFCORDERACTION" }, new[] { "IFCORDERACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PermitID", new[] { "IFCPERMIT" }, new[] { "IFCPERMIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Source", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Edition", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EditionDate", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" });
		destinationSchema.AddAttribute("Notation", new[] { "IFCCLASSIFICATIONITEM" }, new[] { "IFCCLASSIFICATIONITEM" });
		destinationSchema.AddAttribute("ItemOf", new[] { "IFCCLASSIFICATIONITEM" }, new[] { "IFCCLASSIFICATIONITEM" });
		destinationSchema.AddAttribute("Title", new[] { "IFCCLASSIFICATIONITEM" }, new[] { "IFCCLASSIFICATIONITEM" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingItem", new[] { "IFCCLASSIFICATIONITEMRELATIONSHIP" }, new[] { "IFCCLASSIFICATIONITEMRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedItems", new[] { "IFCCLASSIFICATIONITEMRELATIONSHIP" }, new[] { "IFCCLASSIFICATIONITEMRELATIONSHIP" });
		destinationSchema.AddAttribute("NotationFacets", new[] { "IFCCLASSIFICATIONNOTATION" }, new[] { "IFCCLASSIFICATIONNOTATION" });
		destinationSchema.AddAttribute("NotationValue", new[] { "IFCCLASSIFICATIONNOTATIONFACET" }, new[] { "IFCCLASSIFICATIONNOTATIONFACET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedSource", new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "IFCCLASSIFICATIONREFERENCE" });
		destinationSchema.AddAttribute("FileExtension", new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MimeContentType", new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MimeSubtype", new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "IFCDOCUMENTELECTRONICFORMAT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DocumentId", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DocumentReferences", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("IntendedUse", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Scope", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Revision", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DocumentOwner", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("Editors", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("CreationTime", new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT" }, new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("LastRevisionTime", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("ElectronicFormat", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("ValidFrom", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("ValidUntil", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("Confidentiality", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedDocuments", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelationshipType", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Publisher", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" });
		destinationSchema.AddAttribute("VersionDate", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" });
		destinationSchema.AddAttribute("LibraryReference", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" });
		destinationSchema.AddAttribute("DistributionPointFunction", new[] { "IFCELECTRICDISTRIBUTIONPOINT" }, new[] { "IFCELECTRICDISTRIBUTIONPOINT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedFunction", new[] { "IFCELECTRICDISTRIBUTIONPOINT" }, new[] { "IFCELECTRICDISTRIBUTIONPOINT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DayComponent", new[] { "IFCCALENDARDATE" }, new[] { "IFCCALENDARDATE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MonthComponent", new[] { "IFCCALENDARDATE" }, new[] { "IFCCALENDARDATE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("YearComponent", new[] { "IFCCALENDARDATE" }, new[] { "IFCCALENDARDATE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("HourOffset", new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MinuteOffset", new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Sense", new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "IFCCOORDINATEDUNIVERSALTIMEOFFSET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DateComponent", new[] { "IFCDATEANDTIME" }, new[] { "IFCDATEANDTIME" });
		destinationSchema.AddAttribute("TimeComponent", new[] { "IFCDATEANDTIME" }, new[] { "IFCDATEANDTIME" });
		destinationSchema.AddAttribute("HourComponent", new[] { "IFCLOCALTIME" }, new[] { "IFCLOCALTIME" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MinuteComponent", new[] { "IFCLOCALTIME" }, new[] { "IFCLOCALTIME" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("SecondComponent", new[] { "IFCLOCALTIME" }, new[] { "IFCLOCALTIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Zone", new[] { "IFCLOCALTIME" }, new[] { "IFCLOCALTIME" });
		destinationSchema.AddAttribute("DaylightSavingOffset", new[] { "IFCLOCALTIME" }, new[] { "IFCLOCALTIME" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("AppliedValue", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE" });
		destinationSchema.AddAttribute("UnitBasis", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE" });
		destinationSchema.AddAttribute("ApplicableDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE" });
		destinationSchema.AddAttribute("FixedUntilDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCENVIRONMENTALIMPACTVALUE" });
		destinationSchema.AddAttribute("ComponentOfTotal", new[] { "IFCAPPLIEDVALUERELATIONSHIP" }, new[] { "IFCAPPLIEDVALUERELATIONSHIP" });
		destinationSchema.AddAttribute("Components", new[] { "IFCAPPLIEDVALUERELATIONSHIP" }, new[] { "IFCAPPLIEDVALUERELATIONSHIP" });
		destinationSchema.AddAttribute("ArithmeticOperator", new[] { "IFCAPPLIEDVALUERELATIONSHIP" }, new[] { "IFCAPPLIEDVALUERELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CostType", new[] { "IFCCOSTVALUE" }, new[] { "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Condition", new[] { "IFCCOSTVALUE" }, new[] { "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("ExchangeRate", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RateDateTime", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("RateSource", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("ImpactType", new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Category", new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedCategory", new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "IFCENVIRONMENTALIMPACTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedDocument", new[] { "IFCREFERENCESVALUEDOCUMENT" }, new[] { "IFCREFERENCESVALUEDOCUMENT" });
		destinationSchema.AddAttribute("ReferencingValues", new[] { "IFCREFERENCESVALUEDOCUMENT" }, new[] { "IFCREFERENCESVALUEDOCUMENT" });
		destinationSchema.AddAttribute("LifeCyclePhase", new[] { "IFCPERFORMANCEHISTORY" }, new[] { "IFCPERFORMANCEHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingApproval", new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP" }, new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Intent", new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConstraint", new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCPROPERTYCONSTRAINTRELATIONSHIP" }, new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP", "IFCPROPERTYCONSTRAINTRELATIONSHIP" });
		destinationSchema.AddAttribute("ApplicableDates", new[] { "IFCTIMESERIESSCHEDULE" }, new[] { "IFCTIMESERIESSCHEDULE" });
		destinationSchema.AddAttribute("TimeSeriesScheduleType", new[] { "IFCTIMESERIESSCHEDULE" }, new[] { "IFCTIMESERIESSCHEDULE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TimeSeries", new[] { "IFCTIMESERIESSCHEDULE" }, new[] { "IFCTIMESERIESSCHEDULE" });
		destinationSchema.AddAttribute("ResourceIdentifier", new[] { "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResourceGroup", new[] { "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResourceConsumption", new[] { "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BaseQuantity", new[] { "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" });
		destinationSchema.AddAttribute("Suppliers", new[] { "IFCCONSTRUCTIONMATERIALRESOURCE" }, new[] { "IFCCONSTRUCTIONMATERIALRESOURCE" });
		destinationSchema.AddAttribute("UsageRatio", new[] { "IFCCONSTRUCTIONMATERIALRESOURCE" }, new[] { "IFCCONSTRUCTIONMATERIALRESOURCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SkillSet", new[] { "IFCLABORRESOURCE" }, new[] { "IFCLABORRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SubContractor", new[] { "IFCSUBCONTRACTRESOURCE" }, new[] { "IFCSUBCONTRACTRESOURCE" });
		destinationSchema.AddAttribute("JobDescription", new[] { "IFCSUBCONTRACTRESOURCE" }, new[] { "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConstraintGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConstraintSource", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CreatingActor", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("UserDefinedGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedConstraints", new[] { "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP" }, new[] { "IFCCONSTRAINTAGGREGATIONRELATIONSHIP", "IFCCONSTRAINTRELATIONSHIP" });
		destinationSchema.AddAttribute("LogicalAggregator", new[] { "IFCCONSTRAINTAGGREGATIONRELATIONSHIP" }, new[] { "IFCCONSTRAINTAGGREGATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ClassifiedConstraint", new[] { "IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedClassifications", new[] { "IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("Benchmark", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ValueSource", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DataValue", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" });
		destinationSchema.AddAttribute("BenchmarkValues", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("ResultValues", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("ObjectiveQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedProperties", new[] { "IFCPROPERTYCONSTRAINTRELATIONSHIP" }, new[] { "IFCPROPERTYCONSTRAINTRELATIONSHIP" });
		destinationSchema.AddAttribute("DailyInteraction", new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ImportanceRating", new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LocationOfInteraction", new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "IFCRELINTERACTIONREQUIREMENTS" });
		destinationSchema.AddAttribute("RelatedSpaceProgram", new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "IFCRELINTERACTIONREQUIREMENTS" });
		destinationSchema.AddAttribute("RelatingSpaceProgram", new[] { "IFCRELINTERACTIONREQUIREMENTS" }, new[] { "IFCRELINTERACTIONREQUIREMENTS" });
		destinationSchema.AddAttribute("SpaceProgramIdentifier", new[] { "IFCSPACEPROGRAM" }, new[] { "IFCSPACEPROGRAM" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaxRequiredArea", new[] { "IFCSPACEPROGRAM" }, new[] { "IFCSPACEPROGRAM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinRequiredArea", new[] { "IFCSPACEPROGRAM" }, new[] { "IFCSPACEPROGRAM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RequestedLocation", new[] { "IFCSPACEPROGRAM" }, new[] { "IFCSPACEPROGRAM" });
		destinationSchema.AddAttribute("StandardRequiredArea", new[] { "IFCSPACEPROGRAM" }, new[] { "IFCSPACEPROGRAM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ApprovalDateTime", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" });
		destinationSchema.AddAttribute("ApprovalStatus", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApprovalLevel", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApprovalQualifier", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Actor", new[] { "IFCAPPROVALACTORRELATIONSHIP" }, new[] { "IFCAPPROVALACTORRELATIONSHIP" });
		destinationSchema.AddAttribute("Approval", new[] { "IFCAPPROVALACTORRELATIONSHIP", "IFCAPPROVALPROPERTYRELATIONSHIP" }, new[] { "IFCAPPROVALACTORRELATIONSHIP", "IFCAPPROVALPROPERTYRELATIONSHIP" });
		destinationSchema.AddAttribute("ApprovedProperties", new[] { "IFCAPPROVALPROPERTYRELATIONSHIP" }, new[] { "IFCAPPROVALPROPERTYRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedApproval", new[] { "IFCAPPROVALRELATIONSHIP" }, new[] { "IFCAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("UserDefinedRole", new[] { "IFCACTORROLE" }, new[] { "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedPurpose", new[] { "IFCADDRESS" }, new[] { "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Id", new[] { "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCORGANIZATION", "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Roles", new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" }, new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("Addresses", new[] { "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCORGANIZATION", "IFCPERSON" });
		destinationSchema.AddAttribute("RelatingOrganization", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedOrganizations", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("FamilyName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("GivenName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MiddleNames", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PrefixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SuffixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ThePerson", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("TheOrganization", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("InternalLocation", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AddressLines", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalBox", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Town", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Region", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalCode", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Country", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TelephoneNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FacsimileNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PagerNumber", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElectronicMailAddresses", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WWWHomePageURL", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
	}

	static partial void GetAttributesIFC4(SchemaInfo destinationSchema)
	{
		destinationSchema.AddAttribute("ApplicationDeveloper", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" });
		destinationSchema.AddAttribute("Version", new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationFullName", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationIdentifier", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwningUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("OwningApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("State", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ChangeAction", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LastModifiedDate", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LastModifyingUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("LastModifyingApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("CreationDate", new[] { "IFCOWNERHISTORY", "IFCWORKCONTROL" }, new[] { "IFCOWNERHISTORY", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:integer", "xs:dateTime" });
		destinationSchema.AddAttribute("Name", new[] { "IFCTABLE", "IFCTABLECOLUMN", "IFCBOUNDARYCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCROOT", "IFCCOORDINATEREFERENCESYSTEM", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCPHYSICALQUANTITY", "IFCPROPERTY", "IFCEXTENDEDPROPERTIES", "IFCRESOURCELEVELRELATIONSHIP", "IFCPROPERTYENUMERATION", "IFCLIGHTSOURCE", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCCOLOURSPECIFICATION", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCPREDEFINEDITEM", "IFCEXTERNALREFERENCE", "IFCSTYLEDITEM", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCSIUNIT", "IFCCLASSIFICATION", "IFCDOCUMENTINFORMATION", "IFCLIBRARYINFORMATION", "IFCSCHEDULINGTIME", "IFCTIMESERIES", "IFCAPPLIEDVALUE", "IFCCONSTRAINT", "IFCAPPROVAL", "IFCORGANIZATION" }, new[] { "IFCTABLE", "IFCTABLECOLUMN", "IFCBOUNDARYCONDITION", "IFCBOUNDARYEDGECONDITION", "IFCBOUNDARYFACECONDITION", "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING", "IFCFAILURECONNECTIONCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSLIPPAGECONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCSTRUCTURALLOADCONFIGURATION", "IFCSTRUCTURALLOADLINEARFORCE", "IFCSTRUCTURALLOADSTATIC", "IFCSTRUCTURALLOADORRESULT", "IFCSTRUCTURALLOADPLANARFORCE", "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION", "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING", "IFCSTRUCTURALLOADTEMPERATURE", "IFCSURFACEREINFORCEMENTAREA", "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILE", "IFCPILETYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCCOORDINATEREFERENCESYSTEM", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCPROJECTEDCRS", "IFCSHAPEASPECT", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCEXTENDEDPROPERTIES", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCRESOURCELEVELRELATIONSHIP", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCPROFILEPROPERTIES", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCQUANTITYSET", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATES", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELDECOMPOSES", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCCOLOURRGB", "IFCCOLOURSPECIFICATION", "IFCCURVESTYLE", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCDRAUGHTINGPREDEFINEDCOLOUR", "IFCPREDEFINEDCOLOUR", "IFCPREDEFINEDITEM", "IFCDRAUGHTINGPREDEFINEDCURVEFONT", "IFCPREDEFINEDCURVEFONT", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCFILLAREASTYLE", "IFCPREDEFINEDTEXTFONT", "IFCSTYLEDITEM", "IFCSURFACESTYLE", "IFCTEXTSTYLE", "IFCTEXTSTYLEFONTMODEL", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES", "IFCMATERIALRELATIONSHIP", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCSIUNIT", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTINFORMATIONRELATIONSHIP", "IFCDOCUMENTREFERENCE", "IFCEXTERNALREFERENCERELATIONSHIP", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME", "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCCURRENCYRELATIONSHIP", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Rows", new[] { "IFCTABLE" }, new[] { "IFCTABLE" });
		destinationSchema.AddAttribute("Columns", new[] { "IFCTABLE" }, new[] { "IFCTABLE" });
		destinationSchema.AddAttribute("Identifier", new[] { "IFCTABLECOLUMN", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCAPPROVAL" }, new[] { "IFCTABLECOLUMN", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Description", new[] { "IFCTABLECOLUMN", "IFCROOT", "IFCCOORDINATEREFERENCESYSTEM", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCPHYSICALQUANTITY", "IFCPROPERTY", "IFCEXTENDEDPROPERTIES", "IFCRESOURCELEVELRELATIONSHIP", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERSET", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCTIMESERIES", "IFCAPPLIEDVALUE", "IFCCONSTRAINT", "IFCAPPROVAL", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION" }, new[] { "IFCTABLECOLUMN", "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILE", "IFCPILETYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCCOORDINATEREFERENCESYSTEM", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCPROJECTEDCRS", "IFCSHAPEASPECT", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCEXTENDEDPROPERTIES", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCRESOURCELEVELRELATIONSHIP", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCPROFILEPROPERTIES", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCQUANTITYSET", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATES", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELDECOMPOSES", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERSET", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES", "IFCMATERIALRELATIONSHIP", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTINFORMATIONRELATIONSHIP", "IFCDOCUMENTREFERENCE", "IFCEXTERNALREFERENCERELATIONSHIP", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCCURRENCYRELATIONSHIP", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Unit", new[] { "IFCTABLECOLUMN", "IFCPHYSICALSIMPLEQUANTITY", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE", "IFCDERIVEDUNITELEMENT", "IFCTIMESERIES" }, new[] { "IFCTABLECOLUMN", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE", "IFCDERIVEDUNITELEMENT", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("ReferencePath", new[] { "IFCTABLECOLUMN", "IFCMETRIC" }, new[] { "IFCTABLECOLUMN", "IFCMETRIC" });
		destinationSchema.AddAttribute("RowCells", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" });
		destinationSchema.AddAttribute("IsHeading", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Bounds", new[] { "IFCFACE" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE", "IFCFACE" });
		destinationSchema.AddAttribute("FaceSurface", new[] { "IFCFACESURFACE" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE" });
		destinationSchema.AddAttribute("SameSense", new[] { "IFCFACESURFACE", "IFCEDGECURVE", "IFCCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE", "IFCEDGECURVE", "IFCCOMPOSITECURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("CfsFaces", new[] { "IFCCONNECTEDFACESET" }, new[] { "IFCCLOSEDSHELL", "IFCCONNECTEDFACESET", "IFCOPENSHELL" });
		destinationSchema.AddAttribute("EdgeStart", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeEnd", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeGeometry", new[] { "IFCEDGECURVE" }, new[] { "IFCEDGECURVE" });
		destinationSchema.AddAttribute("EdgeList", new[] { "IFCEDGELOOP", "IFCPATH" }, new[] { "IFCEDGELOOP", "IFCPATH" });
		destinationSchema.AddAttribute("Bound", new[] { "IFCFACEBOUND" }, new[] { "IFCFACEBOUND", "IFCFACEOUTERBOUND" });
		destinationSchema.AddAttribute("Orientation", new[] { "IFCFACEBOUND", "IFCORIENTEDEDGE", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCVECTOR", "IFCLINEARPLACEMENT" }, new[] { "IFCFACEBOUND", "IFCFACEOUTERBOUND", "IFCORIENTEDEDGE", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCVECTOR", "IFCLINEARPLACEMENT" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("EdgeElement", new[] { "IFCORIENTEDEDGE" }, new[] { "IFCORIENTEDEDGE" });
		destinationSchema.AddAttribute("Polygon", new[] { "IFCPOLYLOOP" }, new[] { "IFCPOLYLOOP" });
		destinationSchema.AddAttribute("ParentEdge", new[] { "IFCSUBEDGE" }, new[] { "IFCSUBEDGE" });
		destinationSchema.AddAttribute("LoopVertex", new[] { "IFCVERTEXLOOP" }, new[] { "IFCVERTEXLOOP" });
		destinationSchema.AddAttribute("VertexGeometry", new[] { "IFCVERTEXPOINT" }, new[] { "IFCVERTEXPOINT" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaX", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaY", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaZ", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TranslationalStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TranslationalStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("WarpingStiffness", new[] { "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TensionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageX", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageY", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageZ", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Values", new[] { "IFCSTRUCTURALLOADCONFIGURATION", "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "IFCSTRUCTURALLOADCONFIGURATION", "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("Locations", new[] { "IFCSTRUCTURALLOADCONFIGURATION" }, new[] { "IFCSTRUCTURALLOADCONFIGURATION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceX", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceY", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceZ", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Distortion", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WarpingMoment", new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTConstant", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTY", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTZ", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceReinforcement1", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceReinforcement2", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearReinforcement", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("GlobalId", new[] { "IFCROOT" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILE", "IFCPILETYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCQUANTITYSET", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATES", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELDECOMPOSES", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwnerHistory", new[] { "IFCROOT" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILE", "IFCPILETYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCQUANTITYSET", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATES", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELDECOMPOSES", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCPROXY", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE" });
		destinationSchema.AddAttribute("ObjectType", new[] { "IFCOBJECT", "IFCCONTEXT" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCZONE", "IFCEVENT", "IFCPROCESS", "IFCPROCEDURE", "IFCTASK", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROXY", "IFCRESOURCE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectPlacement", new[] { "IFCPRODUCT" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCSYSTEMFURNITUREELEMENT", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBUILDINGELEMENTPROXY", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCPROXY", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" });
		destinationSchema.AddAttribute("Representation", new[] { "IFCPRODUCT" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCPILE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCSYSTEMFURNITUREELEMENT", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSEGMENT", "IFCFLOWSTORAGEDEVICE", "IFCFLOWTERMINAL", "IFCFLOWTREATMENTDEVICE", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBUILDINGELEMENTPROXY", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCANNOTATION", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCVIRTUALELEMENT", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCPROXY", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" });
		destinationSchema.AddAttribute("Tag", new[] { "IFCELEMENT", "IFCTYPEPRODUCT", "IFCPROXY", "IFCOFFSETCURVEBYDISTANCES", "IFCALIGNMENTCURVE" }, new[] { "IFCFOOTING", "IFCBUILDINGELEMENT", "IFCELEMENT", "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCPILE", "IFCPILETYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCELEMENTCOMPONENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCFEATUREELEMENT", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCFEATUREELEMENTSUBTRACTION", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENT", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINAL", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICE", "IFCFLOWTREATMENTDEVICETYPE", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCPROXY", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCOFFSETCURVEBYDISTANCES", "IFCALIGNMENTCURVE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PredefinedType", new[] { "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCPILETYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCFURNITURE", "IFCFURNITURETYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONPORT", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCALIGNMENT", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCEXTERNALSPATIALELEMENT", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCEVENT", "IFCEVENTTYPE", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCPILETYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCFURNITURE", "IFCFURNITURETYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONPORT", "IFCBEAM", "IFCBEAMSTANDARDCASE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNSTANDARDCASE", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERSTANDARDCASE", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATESTANDARDCASE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABELEMENTEDCASE", "IFCSLABSTANDARDCASE", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLELEMENTEDCASE", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE", "IFCALIGNMENT", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCEXTERNALSPATIALELEMENT", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCOPENINGSTANDARDCASE", "IFCPROJECTIONELEMENT", "IFCREFERENT", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCEVENT", "IFCEVENTTYPE", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicableOccurrence", new[] { "IFCTYPEOBJECT" }, new[] { "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILETYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCTYPERESOURCE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasPropertySets", new[] { "IFCTYPEOBJECT" }, new[] { "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPILETYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCTYPERESOURCE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" });
		destinationSchema.AddAttribute("RepresentationMaps", new[] { "IFCTYPEPRODUCT" }, new[] { "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCPILETYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" });
		destinationSchema.AddAttribute("ElementType", new[] { "IFCELEMENTTYPE", "IFCSPATIALELEMENTTYPE" }, new[] { "IFCFOOTINGTYPE", "IFCBUILDINGELEMENTTYPE", "IFCELEMENTTYPE", "IFCPILETYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSEGMENTTYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCFLOWTERMINALTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConstructionType", new[] { "IFCPILE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCPILE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DefinitionType", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReinforcementSectionDefinitions", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" });
		destinationSchema.AddAttribute("SteelGrade", new[] { "IFCREINFORCINGELEMENT", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("NominalDiameter", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CrossSectionArea", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarLength", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarSurface", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BendingShapeCode", new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BendingParameters", new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" });
		destinationSchema.AddAttribute("MeshLength", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MeshWidth", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarNominalDiameter", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarNominalDiameter", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarCrossSectionArea", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarCrossSectionArea", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarSpacing", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarSpacing", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionForce", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PreStress", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrictionCoefficient", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AnchorageSlip", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinCurvatureRadius", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SheathDiameter", new[] { "IFCTENDONTYPE" }, new[] { "IFCTENDONTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RelatingElement", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSELEMENTS", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT" });
		destinationSchema.AddAttribute("RelatedStructuralActivity", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" });
		destinationSchema.AddAttribute("RelatingStructuralMember", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("RelatedStructuralConnection", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("AppliedCondition", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCSTRUCTURALCONNECTION" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALSURFACECONNECTION" });
		destinationSchema.AddAttribute("AdditionalConditions", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("SupportedLength", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConditionCoordinateSystem", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCSTRUCTURALPOINTCONNECTION" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALPOINTCONNECTION" });
		destinationSchema.AddAttribute("ConnectionConstraint", new[] { "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("AppliedLoad", new[] { "IFCSTRUCTURALACTIVITY" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACEREACTION" });
		destinationSchema.AddAttribute("GlobalOrLocal", new[] { "IFCSTRUCTURALACTIVITY" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACEREACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DestabilizingLoad", new[] { "IFCSTRUCTURALACTION" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("OrientationOf2DPlane", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("LoadedBy", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("HasResults", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("SharedPlacement", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("ProjectedOrTrue", new[] { "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALSURFACEACTION" }, new[] { "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Axis", new[] { "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCLINEARPOSITIONINGELEMENT", "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCREVOLVEDAREASOLID" }, new[] { "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("ActionType", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActionSource", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Coefficient", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Purpose", new[] { "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCDOCUMENTINFORMATION", "IFCADDRESS" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDOCUMENTINFORMATION", "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SelfWeightCoefficients", new[] { "IFCSTRUCTURALLOADCASE" }, new[] { "IFCSTRUCTURALLOADCASE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TheoryType", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResultForLoadGroup", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" });
		destinationSchema.AddAttribute("IsLinear", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Thickness", new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Identification", new[] { "IFCCONTROL", "IFCASSET", "IFCPROCESS", "IFCTYPEPROCESS", "IFCEXTERNALREFERENCE", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCDOCUMENTINFORMATION", "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCACTIONREQUEST", "IFCCONTROL", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCASSET", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYREFERENCE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCORGANIZATION", "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Status", new[] { "IFCACTIONREQUEST", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCTASK", "IFCDOCUMENTINFORMATION", "IFCAPPROVAL" }, new[] { "IFCACTIONREQUEST", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCTASK", "IFCDOCUMENTINFORMATION", "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LongDescription", new[] { "IFCACTIONREQUEST", "IFCPERMIT", "IFCPROJECTORDER", "IFCPROCESS", "IFCTYPEPROCESS", "IFCRESOURCE", "IFCTYPERESOURCE" }, new[] { "IFCACTIONREQUEST", "IFCPERMIT", "IFCPROJECTORDER", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CostValues", new[] { "IFCCOSTITEM" }, new[] { "IFCCOSTITEM" });
		destinationSchema.AddAttribute("CostQuantities", new[] { "IFCCOSTITEM" }, new[] { "IFCCOSTITEM" });
		destinationSchema.AddAttribute("SubmittedOn", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("UpdateDate", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("OriginalValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("CurrentValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("TotalReplacementCost", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("Owner", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("User", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("ResponsiblePerson", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("IncorporationDate", new[] { "IFCASSET" }, new[] { "IFCASSET" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("DepreciatedValue", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("AssemblyPlace", new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Jurisdiction", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("ResponsiblePersons", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("LastUpdateDate", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("TheActor", new[] { "IFCACTOR" }, new[] { "IFCOCCUPANT", "IFCACTOR" });
		destinationSchema.AddAttribute("NominalLength", new[] { "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongName", new[] { "IFCDISTRIBUTIONSYSTEM", "IFCBUILDINGSYSTEM", "IFCSPATIALELEMENT", "IFCSPACETYPE", "IFCSPATIALZONETYPE", "IFCZONE", "IFCCONTEXT" }, new[] { "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCBUILDINGSYSTEM", "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCBUILDINGSTOREY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCZONE", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FlowDirection", new[] { "IFCDISTRIBUTIONPORT" }, new[] { "IFCDISTRIBUTIONPORT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SystemType", new[] { "IFCDISTRIBUTIONPORT" }, new[] { "IFCDISTRIBUTIONPORT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedControlElements", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("RelatingFlowElement", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("OverallHeight", new[] { "IFCDOOR", "IFCWINDOW" }, new[] { "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OverallWidth", new[] { "IFCDOOR", "IFCWINDOW", "IFCISHAPEPROFILEDEF" }, new[] { "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OperationType", new[] { "IFCDOOR", "IFCDOORTYPE", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE" }, new[] { "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE", "IFCDOORSTYLE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCWINDOWSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedOperationType", new[] { "IFCDOOR", "IFCDOORTYPE" }, new[] { "IFCDOOR", "IFCDOORSTANDARDCASE", "IFCDOORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParameterTakesPrecedence", new[] { "IFCDOORTYPE", "IFCWINDOWTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCDOORTYPE", "IFCWINDOWTYPE", "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ConnectionGeometry", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("RelatedElement", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELINTERFERESELEMENTS" });
		destinationSchema.AddAttribute("RelatingPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingBuildingElement", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RelatedCoverings", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" });
		destinationSchema.AddAttribute("RelatingSpace", new[] { "IFCRELCOVERSSPACES", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELCOVERSSPACES", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("NumberOfRisers", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("NumberOfTreads", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RiserHeight", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TreadLength", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PartitioningType", new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedPartitioningType", new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "IFCWINDOW", "IFCWINDOWSTANDARDCASE", "IFCWINDOWTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SourceCRS", new[] { "IFCCOORDINATEOPERATION" }, new[] { "IFCCOORDINATEOPERATION", "IFCMAPCONVERSION" });
		destinationSchema.AddAttribute("TargetCRS", new[] { "IFCCOORDINATEOPERATION" }, new[] { "IFCCOORDINATEOPERATION", "IFCMAPCONVERSION" });
		destinationSchema.AddAttribute("GeodeticDatum", new[] { "IFCCOORDINATEREFERENCESYSTEM" }, new[] { "IFCCOORDINATEREFERENCESYSTEM", "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("VerticalDatum", new[] { "IFCCOORDINATEREFERENCESYSTEM" }, new[] { "IFCCOORDINATEREFERENCESYSTEM", "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ContextIdentifier", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ContextType", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CoordinateSpaceDimension", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Precision", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WorldCoordinateSystem", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TrueNorth", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("ParentContext", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TargetScale", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedTargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Eastings", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Northings", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OrthogonalHeight", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XAxisAbscissa", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XAxisOrdinate", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Scale", new[] { "IFCMAPCONVERSION", "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCMAPCONVERSION", "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Representations", new[] { "IFCPRODUCTREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE" });
		destinationSchema.AddAttribute("RepresentedMaterial", new[] { "IFCMATERIALDEFINITIONREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION" });
		destinationSchema.AddAttribute("MapProjection", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MapZone", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MapUnit", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" });
		destinationSchema.AddAttribute("ContextOfItems", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("RepresentationIdentifier", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationType", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Items", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("ShapeRepresentations", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("ProductDefinitional", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PartOfProductDefinitionShape", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("HasQuantities", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" });
		destinationSchema.AddAttribute("Discrimination", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quality", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Usage", new[] { "IFCPHYSICALCOMPLEXQUANTITY", "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AreaValue", new[] { "IFCQUANTITYAREA" }, new[] { "IFCQUANTITYAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Formula", new[] { "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT" }, new[] { "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CountValue", new[] { "IFCQUANTITYCOUNT" }, new[] { "IFCQUANTITYCOUNT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthValue", new[] { "IFCQUANTITYLENGTH" }, new[] { "IFCQUANTITYLENGTH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TimeValue", new[] { "IFCQUANTITYTIME" }, new[] { "IFCQUANTITYTIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VolumeValue", new[] { "IFCQUANTITYVOLUME" }, new[] { "IFCQUANTITYVOLUME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WeightValue", new[] { "IFCQUANTITYWEIGHT" }, new[] { "IFCQUANTITYWEIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("UsageName", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE", "IFCCOMPLEXPROPERTYTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE", "IFCCOMPLEXPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasProperties", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" });
		destinationSchema.AddAttribute("Properties", new[] { "IFCEXTENDEDPROPERTIES" }, new[] { "IFCEXTENDEDPROPERTIES", "IFCPROFILEPROPERTIES", "IFCMATERIALPROPERTIES" });
		destinationSchema.AddAttribute("UpperBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("LowerBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("SetPointValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("DependingProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("DependantProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("Expression", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE", "IFCMATERIALRELATIONSHIP", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE", "IFCMATERIALRELATIONSHIP", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EnumerationValues", new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" }, new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" });
		destinationSchema.AddAttribute("EnumerationReference", new[] { "IFCPROPERTYENUMERATEDVALUE" }, new[] { "IFCPROPERTYENUMERATEDVALUE" });
		destinationSchema.AddAttribute("ListValues", new[] { "IFCPROPERTYLISTVALUE", "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE" }, new[] { "IFCPROPERTYLISTVALUE", "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE" });
		destinationSchema.AddAttribute("PropertyReference", new[] { "IFCPROPERTYREFERENCEVALUE" }, new[] { "IFCPROPERTYREFERENCEVALUE" });
		destinationSchema.AddAttribute("NominalValue", new[] { "IFCPROPERTYSINGLEVALUE" }, new[] { "IFCPROPERTYSINGLEVALUE" });
		destinationSchema.AddAttribute("DefiningValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefiningUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("CurveInterpolation", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProfileType", new[] { "IFCPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProfileName", new[] { "IFCPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OuterCurve", new[] { "IFCARBITRARYCLOSEDPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("Curve", new[] { "IFCARBITRARYOPENPROFILEDEF" }, new[] { "IFCARBITRARYOPENPROFILEDEF", "IFCCENTERLINEPROFILEDEF" });
		destinationSchema.AddAttribute("InnerCurves", new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" }, new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("Position", new[] { "IFCPARAMETERIZEDPROFILEDEF", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCCONIC", "IFCELEMENTARYSURFACE", "IFCSWEPTSURFACE", "IFCCSGPRIMITIVE3D", "IFCSWEPTAREASOLID", "IFCPOLYGONALBOUNDEDHALFSPACE", "IFCRECURRENCEPATTERN" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCCIRCLE", "IFCCONIC", "IFCCYLINDRICALSURFACE", "IFCELEMENTARYSURFACE", "IFCELLIPSE", "IFCPLANE", "IFCSPHERICALSURFACE", "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION", "IFCTOROIDALSURFACE", "IFCBLOCK", "IFCCSGPRIMITIVE3D", "IFCEXTRUDEDAREASOLID", "IFCSWEPTAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCPOLYGONALBOUNDEDHALFSPACE", "IFCRECTANGULARPYRAMID", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSURFACECURVESWEPTAREASOLID", "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("BottomFlangeWidth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OverallDepth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeFilletRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeWidth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeFilletRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeEdgeRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeSlope", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeEdgeRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeSlope", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Radius", new[] { "IFCCIRCLEPROFILEDEF", "IFCLIGHTSOURCEPOSITIONAL", "IFCCIRCLE", "IFCCIRCULARARCSEGMENT2D", "IFCCYLINDRICALSURFACE", "IFCSPHERICALSURFACE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID", "IFCALIGNMENT2DVERSEGCIRCULARARC" }, new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCCIRCLE", "IFCCIRCULARARCSEGMENT2D", "IFCCYLINDRICALSURFACE", "IFCSPHERICALSURFACE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL", "IFCALIGNMENT2DVERSEGCIRCULARARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WallThickness", new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Profiles", new[] { "IFCCOMPOSITEPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF" });
		destinationSchema.AddAttribute("Label", new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Depth", new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Width", new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCPIXELTEXTURE" }, new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCPIXELTEXTURE" }, new[] { "xs:double", "xs:integer" });
		destinationSchema.AddAttribute("Girth", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InternalFilletRadius", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ParentProfile", new[] { "IFCDERIVEDPROFILEDEF" }, new[] { "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF" });
		destinationSchema.AddAttribute("Operator", new[] { "IFCDERIVEDPROFILEDEF", "IFCBOOLEANRESULT" }, new[] { "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SemiAxis1", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SemiAxis2", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeThickness", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FilletRadius", new[] { "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeEdgeRadius", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeSlope", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EdgeRadius", new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LegSlope", new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ProfileDefinition", new[] { "IFCPROFILEPROPERTIES" }, new[] { "IFCPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("XDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InnerFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OuterFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TotalCrossSectionArea", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EffectiveDepth", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("NominalBarDiameter", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarCount", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RoundingRadius", new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SectionType", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("StartProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("EndProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("LongitudinalStartPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalEndPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransversePosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReinforcementRole", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SectionDefinition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("CrossSectionReinforcementDefinitions", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("BottomXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXOffset", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeWidth", new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebEdgeRadius", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebSlope", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompositionType", new[] { "IFCSPATIALSTRUCTUREELEMENT" }, new[] { "IFCBUILDING", "IFCSPATIALSTRUCTUREELEMENT", "IFCBUILDINGSTOREY", "IFCSITE", "IFCSPACE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElevationOfRefHeight", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ElevationOfTerrain", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BuildingAddress", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" });
		destinationSchema.AddAttribute("Elevation", new[] { "IFCBUILDINGSTOREY" }, new[] { "IFCBUILDINGSTOREY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MethodOfMeasurement", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quantities", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" });
		destinationSchema.AddAttribute("UAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("VAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("WAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("RestartDistance", new[] { "IFCREFERENT" }, new[] { "IFCREFERENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RelatedObjects", new[] { "IFCRELASSOCIATES", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS" }, new[] { "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATES", "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT" });
		destinationSchema.AddAttribute("RelatingMaterial", new[] { "IFCRELASSOCIATESMATERIAL", "IFCMATERIALRELATIONSHIP" }, new[] { "IFCRELASSOCIATESMATERIAL", "IFCMATERIALRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatingPort", new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" }, new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" });
		destinationSchema.AddAttribute("RelatedPort", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElement", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElements", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" });
		destinationSchema.AddAttribute("ConnectionType", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedElements", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingStructure", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingOpeningElement", new[] { "IFCRELFILLSELEMENT" }, new[] { "IFCRELFILLSELEMENT" });
		destinationSchema.AddAttribute("RelatedBuildingElement", new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("InterferenceGeometry", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" });
		destinationSchema.AddAttribute("InterferenceType", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ImpliedOrder", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("RelatedFeatureElement", new[] { "IFCRELPROJECTSELEMENT" }, new[] { "IFCRELPROJECTSELEMENT" });
		destinationSchema.AddAttribute("RelatingSystem", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("RelatedBuildings", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("PhysicalOrVirtualBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InternalOrExternalBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParentBoundary", new[] { "IFCRELSPACEBOUNDARY1STLEVEL" }, new[] { "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("CorrespondingBoundary", new[] { "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("RelatedOpeningElement", new[] { "IFCRELVOIDSELEMENT" }, new[] { "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RefLatitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefLongitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefElevation", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LandTitleNumber", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SiteAddress", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("ElevationWithFlooring", new[] { "IFCSPACE" }, new[] { "IFCSPACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EventTriggerType", new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedEventTriggerType", new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EventOccurenceTime", new[] { "IFCEVENT" }, new[] { "IFCEVENT" });
		destinationSchema.AddAttribute("ProcessType", new[] { "IFCTYPEPROCESS" }, new[] { "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingProcess", new[] { "IFCRELSEQUENCE", "IFCRELASSIGNSTOPROCESS" }, new[] { "IFCRELSEQUENCE", "IFCRELASSIGNSTOPROCESS" });
		destinationSchema.AddAttribute("RelatedProcess", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("TimeLag", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("SequenceType", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedSequenceType", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WorkMethod", new[] { "IFCTASK", "IFCTASKTYPE" }, new[] { "IFCTASK", "IFCTASKTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("IsMilestone", new[] { "IFCTASK" }, new[] { "IFCTASK" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Priority", new[] { "IFCTASK", "IFCMATERIALLAYER", "IFCMATERIALPROFILE" }, new[] { "IFCTASK", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TaskTime", new[] { "IFCTASK" }, new[] { "IFCTASK" });
		destinationSchema.AddAttribute("WorkingTimes", new[] { "IFCWORKCALENDAR" }, new[] { "IFCWORKCALENDAR" });
		destinationSchema.AddAttribute("ExceptionTimes", new[] { "IFCWORKCALENDAR" }, new[] { "IFCWORKCALENDAR" });
		destinationSchema.AddAttribute("Creators", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" });
		destinationSchema.AddAttribute("Duration", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("TotalFloat", new[] { "IFCWORKCONTROL", "IFCTASKTIME" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("StartTime", new[] { "IFCWORKCONTROL", "IFCTIMESERIES", "IFCTIMEPERIOD" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCTIMEPERIOD" }, new[] { "xs:dateTime", "xs:time" });
		destinationSchema.AddAttribute("FinishTime", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("MainPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondaryPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousIntensity", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightDistributionCurve", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DistributionData", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" });
		destinationSchema.AddAttribute("LightColour", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" });
		destinationSchema.AddAttribute("AmbientIntensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Intensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ColourAppearance", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("ColourTemperature", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousFlux", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightEmissionSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LightDistributionDataSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("ConstantAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DistanceAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuadricAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConcentrationExponent", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SpreadAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BeamWidthAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AssignedItems", new[] { "IFCPRESENTATIONLAYERASSIGNMENT" }, new[] { "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("LayerOn", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerFrozen", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerBlocked", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerStyles", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("OuterBoundary", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("InnerBoundaries", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("SizeInX", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SizeInY", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Placement", new[] { "IFCPLANARBOX", "IFCTEXTLITERAL" }, new[] { "IFCPLANARBOX", "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" });
		destinationSchema.AddAttribute("Literal", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Path", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Extent", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" });
		destinationSchema.AddAttribute("BoxAlignment", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepeatS", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("RepeatT", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Mode", new[] { "IFCSURFACETEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextureTransform", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("Parameter", new[] { "IFCSURFACETEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "xs:string", "xs:double" });
		destinationSchema.AddAttribute("RasterFormat", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RasterCode", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" });
		destinationSchema.AddAttribute("Red", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Green", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Blue", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ColourList", new[] { "IFCCOLOURRGBLIST" }, new[] { "IFCCOLOURRGBLIST" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CurveFont", new[] { "IFCCURVESTYLE", "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLE", "IFCCURVESTYLEFONTANDSCALING" });
		destinationSchema.AddAttribute("CurveWidth", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("CurveColour", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("ModelOrDraughting", new[] { "IFCCURVESTYLE", "IFCTEXTSTYLE" }, new[] { "IFCCURVESTYLE", "IFCTEXTSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("PatternList", new[] { "IFCCURVESTYLEFONT" }, new[] { "IFCCURVESTYLEFONT" });
		destinationSchema.AddAttribute("CurveFontScaling", new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InvisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Location", new[] { "IFCEXTERNALREFERENCE", "IFCPLACEMENT", "IFCCLASSIFICATION", "IFCDOCUMENTINFORMATION", "IFCLIBRARYINFORMATION" }, new[] { "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCAXIS1PLACEMENT", "IFCPLACEMENT", "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FillStyles", new[] { "IFCFILLAREASTYLE" }, new[] { "IFCFILLAREASTYLE" });
		destinationSchema.AddAttribute("ModelorDraughting", new[] { "IFCFILLAREASTYLE" }, new[] { "IFCFILLAREASTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("HatchLineAppearance", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("StartOfNextHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PointOfReferenceHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PatternStart", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("HatchLineAngle", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TilingPattern", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("Tiles", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("TilingScale", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("URLReference", new[] { "IFCIMAGETEXTURE" }, new[] { "IFCIMAGETEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MappedTo", new[] { "IFCINDEXEDCOLOURMAP", "IFCINDEXEDTEXTUREMAP", "IFCTEXTUREMAP" }, new[] { "IFCINDEXEDCOLOURMAP", "IFCINDEXEDTEXTUREMAP", "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTUREMAP" });
		destinationSchema.AddAttribute("Opacity", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Colours", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" });
		destinationSchema.AddAttribute("ColourIndex", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Maps", new[] { "IFCTEXTURECOORDINATE" }, new[] { "IFCINDEXEDTEXTUREMAP", "IFCTEXTURECOORDINATE", "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTURECOORDINATEGENERATOR", "IFCTEXTUREMAP" });
		destinationSchema.AddAttribute("TexCoords", new[] { "IFCINDEXEDTEXTUREMAP" }, new[] { "IFCINDEXEDTEXTUREMAP", "IFCINDEXEDTRIANGLETEXTUREMAP" });
		destinationSchema.AddAttribute("TexCoordIndex", new[] { "IFCINDEXEDTRIANGLETEXTUREMAP" }, new[] { "IFCINDEXEDTRIANGLETEXTUREMAP" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Height", new[] { "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "xs:integer", "xs:double" });
		destinationSchema.AddAttribute("ColourComponents", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Pixel", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("Styles", new[] { "IFCPRESENTATIONSTYLEASSIGNMENT", "IFCSTYLEDITEM", "IFCSURFACESTYLE" }, new[] { "IFCPRESENTATIONSTYLEASSIGNMENT", "IFCSTYLEDITEM", "IFCSURFACESTYLE" });
		destinationSchema.AddAttribute("Item", new[] { "IFCSTYLEDITEM" }, new[] { "IFCSTYLEDITEM" });
		destinationSchema.AddAttribute("Side", new[] { "IFCSURFACESTYLE" }, new[] { "IFCSURFACESTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DiffuseTransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("DiffuseReflectionColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("TransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("RefractionIndex", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DispersionFactor", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceColour", new[] { "IFCSURFACESTYLESHADING" }, new[] { "IFCSURFACESTYLERENDERING", "IFCSURFACESTYLESHADING" });
		destinationSchema.AddAttribute("Transparency", new[] { "IFCSURFACESTYLESHADING" }, new[] { "IFCSURFACESTYLERENDERING", "IFCSURFACESTYLESHADING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DiffuseColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectionColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularHighlight", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceMethod", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Textures", new[] { "IFCSURFACESTYLEWITHTEXTURES" }, new[] { "IFCSURFACESTYLEWITHTEXTURES" });
		destinationSchema.AddAttribute("TextCharacterAppearance", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextFontStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("FontFamily", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontStyle", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontVariant", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontWeight", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontSize", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" });
		destinationSchema.AddAttribute("Colour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("BackgroundColour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("TextIndent", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextAlign", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextDecoration", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LetterSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("WordSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextTransform", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LineHeight", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("Vertices", new[] { "IFCTEXTUREMAP" }, new[] { "IFCTEXTUREMAP" });
		destinationSchema.AddAttribute("Coordinates", new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT", "IFCTESSELLATEDFACESET" }, new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT", "IFCPOLYGONALFACESET", "IFCTESSELLATEDFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TexCoordsList", new[] { "IFCTEXTUREVERTEXLIST" }, new[] { "IFCTEXTUREVERTEXLIST" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Category", new[] { "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCAPPLIEDVALUE" }, new[] { "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS", "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaterialClassifications", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("ClassifiedMaterial", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("Material", new[] { "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCMATERIALPROPERTIES" }, new[] { "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES" });
		destinationSchema.AddAttribute("Fraction", new[] { "IFCMATERIALCONSTITUENT" }, new[] { "IFCMATERIALCONSTITUENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaterialConstituents", new[] { "IFCMATERIALCONSTITUENTSET" }, new[] { "IFCMATERIALCONSTITUENTSET" });
		destinationSchema.AddAttribute("LayerThickness", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsVentilated", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaterialLayers", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" });
		destinationSchema.AddAttribute("LayerSetName", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ForLayerSet", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" });
		destinationSchema.AddAttribute("LayerSetDirection", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DirectionSense", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetFromReferenceLine", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReferenceExtent", new[] { "IFCMATERIALLAYERSETUSAGE", "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE", "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetDirection", new[] { "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetValues", new[] { "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILEWITHOFFSETS", "IFCOFFSETCURVEBYDISTANCES" }, new[] { "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILEWITHOFFSETS", "IFCOFFSETCURVEBYDISTANCES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Materials", new[] { "IFCMATERIALLIST" }, new[] { "IFCMATERIALLIST" });
		destinationSchema.AddAttribute("Profile", new[] { "IFCMATERIALPROFILE" }, new[] { "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS" });
		destinationSchema.AddAttribute("MaterialProfiles", new[] { "IFCMATERIALPROFILESET" }, new[] { "IFCMATERIALPROFILESET" });
		destinationSchema.AddAttribute("CompositeProfile", new[] { "IFCMATERIALPROFILESET" }, new[] { "IFCMATERIALPROFILESET" });
		destinationSchema.AddAttribute("ForProfileSet", new[] { "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" });
		destinationSchema.AddAttribute("CardinalPoint", new[] { "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ForProfileEndSet", new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "IFCMATERIALPROFILESETUSAGETAPERING" });
		destinationSchema.AddAttribute("CardinalEndPoint", new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedMaterials", new[] { "IFCMATERIALRELATIONSHIP" }, new[] { "IFCMATERIALRELATIONSHIP" });
		destinationSchema.AddAttribute("TemplateType", new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasPropertyTemplates", new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE" });
		destinationSchema.AddAttribute("Phase", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationContexts", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" });
		destinationSchema.AddAttribute("UnitsInContext", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" });
		destinationSchema.AddAttribute("ApplicableEntity", new[] { "IFCPROPERTYSETTEMPLATE" }, new[] { "IFCPROPERTYSETTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProxyType", new[] { "IFCPROXY" }, new[] { "IFCPROXY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingObject", new[] { "IFCRELAGGREGATES", "IFCRELDEFINESBYOBJECT", "IFCRELNESTS" }, new[] { "IFCRELAGGREGATES", "IFCRELDEFINESBYOBJECT", "IFCRELNESTS" });
		destinationSchema.AddAttribute("RelatedObjectsType", new[] { "IFCRELASSIGNS" }, new[] { "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingActor", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("ActingRole", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("RelatingControl", new[] { "IFCRELASSIGNSTOCONTROL" }, new[] { "IFCRELASSIGNSTOCONTROL" });
		destinationSchema.AddAttribute("RelatingGroup", new[] { "IFCRELASSIGNSTOGROUP" }, new[] { "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR" });
		destinationSchema.AddAttribute("Factor", new[] { "IFCRELASSIGNSTOGROUPBYFACTOR" }, new[] { "IFCRELASSIGNSTOGROUPBYFACTOR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuantityInProcess", new[] { "IFCRELASSIGNSTOPROCESS" }, new[] { "IFCRELASSIGNSTOPROCESS" });
		destinationSchema.AddAttribute("RelatingProduct", new[] { "IFCRELASSIGNSTOPRODUCT" }, new[] { "IFCRELASSIGNSTOPRODUCT" });
		destinationSchema.AddAttribute("RelatingResource", new[] { "IFCRELASSIGNSTORESOURCE" }, new[] { "IFCRELASSIGNSTORESOURCE" });
		destinationSchema.AddAttribute("RelatingClassification", new[] { "IFCRELASSOCIATESCLASSIFICATION" }, new[] { "IFCRELASSOCIATESCLASSIFICATION" });
		destinationSchema.AddAttribute("RelatingDocument", new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatingLibrary", new[] { "IFCRELASSOCIATESLIBRARY" }, new[] { "IFCRELASSOCIATESLIBRARY" });
		destinationSchema.AddAttribute("RelatingContext", new[] { "IFCRELDECLARES" }, new[] { "IFCRELDECLARES" });
		destinationSchema.AddAttribute("RelatedDefinitions", new[] { "IFCRELDECLARES" }, new[] { "IFCRELDECLARES" });
		destinationSchema.AddAttribute("RelatingPropertyDefinition", new[] { "IFCRELDEFINESBYPROPERTIES" }, new[] { "IFCRELDEFINESBYPROPERTIES" });
		destinationSchema.AddAttribute("RelatedPropertySets", new[] { "IFCRELDEFINESBYTEMPLATE" }, new[] { "IFCRELDEFINESBYTEMPLATE" });
		destinationSchema.AddAttribute("RelatingTemplate", new[] { "IFCRELDEFINESBYTEMPLATE" }, new[] { "IFCRELDEFINESBYTEMPLATE" });
		destinationSchema.AddAttribute("RelatingType", new[] { "IFCRELDEFINESBYTYPE" }, new[] { "IFCRELDEFINESBYTYPE" });
		destinationSchema.AddAttribute("PrimaryMeasureType", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SecondaryMeasureType", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Enumerators", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("PrimaryUnit", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("SecondaryUnit", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("AccessState", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResourceType", new[] { "IFCTYPERESOURCE" }, new[] { "IFCTYPERESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Dimensions", new[] { "IFCNAMEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCSIUNIT" });
		destinationSchema.AddAttribute("UnitType", new[] { "IFCNAMEDUNIT", "IFCDERIVEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCDERIVEDUNIT", "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConversionFactor", new[] { "IFCCONVERSIONBASEDUNIT" }, new[] { "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET" });
		destinationSchema.AddAttribute("ConversionOffset", new[] { "IFCCONVERSIONBASEDUNITWITHOFFSET" }, new[] { "IFCCONVERSIONBASEDUNITWITHOFFSET" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Elements", new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICSET" }, new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICCURVESET", "IFCGEOMETRICSET" });
		destinationSchema.AddAttribute("UserDefinedType", new[] { "IFCDERIVEDUNIT" }, new[] { "IFCDERIVEDUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Exponent", new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MassExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TimeExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ElectricCurrentExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ThermodynamicTemperatureExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("AmountOfSubstanceExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LuminousIntensityExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ValueComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("UnitComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("Currency", new[] { "IFCMONETARYUNIT" }, new[] { "IFCMONETARYUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Prefix", new[] { "IFCSIUNIT" }, new[] { "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Units", new[] { "IFCUNITASSIGNMENT" }, new[] { "IFCUNITASSIGNMENT" });
		destinationSchema.AddAttribute("RefDirection", new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCOFFSETCURVE3D" }, new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCOFFSETCURVE3D" });
		destinationSchema.AddAttribute("Segments", new[] { "IFCCOMPOSITECURVE", "IFCINDEXEDPOLYCURVE", "IFCALIGNMENT2DHORIZONTAL", "IFCALIGNMENT2DVERTICAL" }, new[] { "IFCBOUNDARYCURVE", "IFCCOMPOSITECURVEONSURFACE", "IFCCOMPOSITECURVE", "IFCINDEXEDPOLYCURVE", "IFCOUTERBOUNDARYCURVE", "IFCALIGNMENT2DHORIZONTAL", "IFCALIGNMENT2DVERTICAL" });
		destinationSchema.AddAttribute("SelfIntersect", new[] { "IFCCOMPOSITECURVE", "IFCBSPLINECURVE", "IFCBSPLINESURFACE", "IFCINDEXEDPOLYCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "IFCBOUNDARYCURVE", "IFCCOMPOSITECURVEONSURFACE", "IFCCOMPOSITECURVE", "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCINDEXEDPOLYCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCOUTERBOUNDARYCURVE", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string", "xs:boolean" });
		destinationSchema.AddAttribute("Degree", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ControlPointsList", new[] { "IFCBSPLINECURVE", "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" });
		destinationSchema.AddAttribute("CurveForm", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ClosedCurve", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("KnotMultiplicities", new[] { "IFCBSPLINECURVEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Knots", new[] { "IFCBSPLINECURVEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("KnotSpec", new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UDegree", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("VDegree", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("SurfaceForm", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UClosed", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("VClosed", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UMultiplicities", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("VMultiplicities", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("UKnots", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VKnots", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Axis1", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Axis2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("LocalOrigin", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Axis3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartPoint", new[] { "IFCCURVESEGMENT2D" }, new[] { "IFCCIRCULARARCSEGMENT2D", "IFCCURVESEGMENT2D", "IFCLINESEGMENT2D", "IFCTRANSITIONCURVESEGMENT2D" });
		destinationSchema.AddAttribute("StartDirection", new[] { "IFCCURVESEGMENT2D" }, new[] { "IFCCIRCULARARCSEGMENT2D", "IFCCURVESEGMENT2D", "IFCLINESEGMENT2D", "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SegmentLength", new[] { "IFCCURVESEGMENT2D" }, new[] { "IFCCIRCULARARCSEGMENT2D", "IFCCURVESEGMENT2D", "IFCLINESEGMENT2D", "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsCCW", new[] { "IFCCIRCULARARCSEGMENT2D" }, new[] { "IFCCIRCULARARCSEGMENT2D" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Transition", new[] { "IFCCOMPOSITECURVESEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParentCurve", new[] { "IFCCOMPOSITECURVESEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" });
		destinationSchema.AddAttribute("BasisSurface", new[] { "IFCCURVEBOUNDEDPLANE", "IFCCURVEBOUNDEDSURFACE", "IFCPCURVE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCCURVEBOUNDEDPLANE", "IFCCURVEBOUNDEDSURFACE", "IFCPCURVE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" });
		destinationSchema.AddAttribute("Boundaries", new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "IFCCURVEBOUNDEDSURFACE" });
		destinationSchema.AddAttribute("ImplicitOuter", new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("DirectionRatios", new[] { "IFCDIRECTION" }, new[] { "IFCDIRECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DistanceAlong", new[] { "IFCDISTANCEEXPRESSION" }, new[] { "IFCDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetLateral", new[] { "IFCDISTANCEEXPRESSION" }, new[] { "IFCDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetVertical", new[] { "IFCDISTANCEEXPRESSION" }, new[] { "IFCDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetLongitudinal", new[] { "IFCDISTANCEEXPRESSION" }, new[] { "IFCDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AlongHorizontal", new[] { "IFCDISTANCEEXPRESSION" }, new[] { "IFCDISTANCEEXPRESSION" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Points", new[] { "IFCINDEXEDPOLYCURVE", "IFCPOLYLINE" }, new[] { "IFCINDEXEDPOLYCURVE", "IFCPOLYLINE" });
		destinationSchema.AddAttribute("Curve3D", new[] { "IFCSURFACECURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE" });
		destinationSchema.AddAttribute("AssociatedGeometry", new[] { "IFCSURFACECURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE" });
		destinationSchema.AddAttribute("MasterRepresentation", new[] { "IFCSURFACECURVE", "IFCTRIMMEDCURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE", "IFCTRIMMEDCURVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Pnt", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("Dir", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("MappingSource", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("MappingTarget", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("BasisCurve", new[] { "IFCOFFSETCURVE", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" }, new[] { "IFCOFFSETCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCOFFSETCURVEBYDISTANCES", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Distance", new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCLINEARPLACEMENT" }, new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCLINEARPLACEMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LateralAxisDirection", new[] { "IFCORIENTATIONEXPRESSION" }, new[] { "IFCORIENTATIONEXPRESSION" });
		destinationSchema.AddAttribute("VerticalAxisDirection", new[] { "IFCORIENTATIONEXPRESSION" }, new[] { "IFCORIENTATIONEXPRESSION" });
		destinationSchema.AddAttribute("ReferenceCurve", new[] { "IFCPCURVE" }, new[] { "IFCPCURVE" });
		destinationSchema.AddAttribute("PointParameter", new[] { "IFCPOINTONCURVE" }, new[] { "IFCPOINTONCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterU", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterV", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WeightsData", new[] { "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Usense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Vsense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ParamLength", new[] { "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MappingOrigin", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("MappedRepresentation", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("SweptCurve", new[] { "IFCSWEPTSURFACE" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("ExtrudedDirection", new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("AxisPosition", new[] { "IFCSURFACEOFREVOLUTION" }, new[] { "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("MajorRadius", new[] { "IFCTOROIDALSURFACE" }, new[] { "IFCTOROIDALSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinorRadius", new[] { "IFCTOROIDALSURFACE" }, new[] { "IFCTOROIDALSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartRadius", new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndRadius", new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsStartRadiusCCW", new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("IsEndRadiusCCW", new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("TransitionCurveType", new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "IFCTRANSITIONCURVESEGMENT2D" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Trim1", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Trim2", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("SenseAgreement", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Magnitude", new[] { "IFCVECTOR" }, new[] { "IFCVECTOR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Outer", new[] { "IFCMANIFOLDSOLIDBREP" }, new[] { "IFCADVANCEDBREP", "IFCMANIFOLDSOLIDBREP", "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREP", "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("Voids", new[] { "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREPWITHVOIDS" }, new[] { "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("XLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ZLength", new[] { "IFCBLOCK" }, new[] { "IFCBLOCK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("SecondOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("Corner", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" });
		destinationSchema.AddAttribute("ZDim", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseSurface", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("AgreementFlag", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Enclosure", new[] { "IFCBOXEDHALFSPACE" }, new[] { "IFCBOXEDHALFSPACE" });
		destinationSchema.AddAttribute("CoordList", new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TagList", new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TreeRootExpression", new[] { "IFCCSGSOLID" }, new[] { "IFCCSGSOLID" });
		destinationSchema.AddAttribute("SweptArea", new[] { "IFCSWEPTAREASOLID" }, new[] { "IFCEXTRUDEDAREASOLID", "IFCSWEPTAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED", "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("EndSweptArea", new[] { "IFCEXTRUDEDAREASOLIDTAPERED", "IFCREVOLVEDAREASOLIDTAPERED" }, new[] { "IFCEXTRUDEDAREASOLIDTAPERED", "IFCREVOLVEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("FbsmFaces", new[] { "IFCFACEBASEDSURFACEMODEL" }, new[] { "IFCFACEBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("Directrix", new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSECTIONEDSOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSECTIONEDSOLID", "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" });
		destinationSchema.AddAttribute("StartParam", new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndParam", new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FixedReference", new[] { "IFCFIXEDREFERENCESWEPTAREASOLID" }, new[] { "IFCFIXEDREFERENCESWEPTAREASOLID" });
		destinationSchema.AddAttribute("CoordIndex", new[] { "IFCINDEXEDPOLYGONALFACE", "IFCTRIANGULATEDFACESET" }, new[] { "IFCINDEXEDPOLYGONALFACE", "IFCINDEXEDPOLYGONALFACEWITHVOIDS", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("InnerCoordIndices", new[] { "IFCINDEXEDPOLYGONALFACEWITHVOIDS" }, new[] { "IFCINDEXEDPOLYGONALFACEWITHVOIDS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("PolygonalBoundary", new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("Closed", new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET" }, new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Faces", new[] { "IFCPOLYGONALFACESET" }, new[] { "IFCPOLYGONALFACESET" });
		destinationSchema.AddAttribute("PnIndex", new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET" }, new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Angle", new[] { "IFCREVOLVEDAREASOLID" }, new[] { "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomRadius", new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CrossSections", new[] { "IFCSECTIONEDSOLID", "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSOLID", "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("CrossSectionPositions", new[] { "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("FixedAxisVertical", new[] { "IFCSECTIONEDSOLIDHORIZONTAL" }, new[] { "IFCSECTIONEDSOLIDHORIZONTAL" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("SpineCurve", new[] { "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("SbsmBoundary", new[] { "IFCSHELLBASEDSURFACEMODEL" }, new[] { "IFCSHELLBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("ReferenceSurface", new[] { "IFCSURFACECURVESWEPTAREASOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("InnerRadius", new[] { "IFCSWEPTDISKSOLID" }, new[] { "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Normals", new[] { "IFCTRIANGULATEDFACESET" }, new[] { "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Flags", new[] { "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("StartDistAlong", new[] { "IFCALIGNMENT2DHORIZONTAL", "IFCALIGNMENT2DVERTICALSEGMENT" }, new[] { "IFCALIGNMENT2DHORIZONTAL", "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TangentialContinuity", new[] { "IFCALIGNMENT2DSEGMENT" }, new[] { "IFCALIGNMENT2DHORIZONTALSEGMENT", "IFCALIGNMENT2DSEGMENT", "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("StartTag", new[] { "IFCALIGNMENT2DSEGMENT" }, new[] { "IFCALIGNMENT2DHORIZONTALSEGMENT", "IFCALIGNMENT2DSEGMENT", "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EndTag", new[] { "IFCALIGNMENT2DSEGMENT" }, new[] { "IFCALIGNMENT2DHORIZONTALSEGMENT", "IFCALIGNMENT2DSEGMENT", "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CurveGeometry", new[] { "IFCALIGNMENT2DHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENT2DHORIZONTALSEGMENT" });
		destinationSchema.AddAttribute("HorizontalLength", new[] { "IFCALIGNMENT2DVERTICALSEGMENT" }, new[] { "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartHeight", new[] { "IFCALIGNMENT2DVERTICALSEGMENT" }, new[] { "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartGradient", new[] { "IFCALIGNMENT2DVERTICALSEGMENT" }, new[] { "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERTICALSEGMENT", "IFCALIGNMENT2DVERSEGLINE", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsConvex", new[] { "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "IFCALIGNMENT2DVERSEGCIRCULARARC", "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ParabolaConstant", new[] { "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "IFCALIGNMENT2DVERSEGPARABOLICARC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Horizontal", new[] { "IFCALIGNMENTCURVE" }, new[] { "IFCALIGNMENTCURVE" });
		destinationSchema.AddAttribute("Vertical", new[] { "IFCALIGNMENTCURVE" }, new[] { "IFCALIGNMENTCURVE" });
		destinationSchema.AddAttribute("CurveOnRelatingElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("CurveOnRelatedElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatingElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatedElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("EccentricityInX", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInY", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInZ", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceOnRelatingElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("SurfaceOnRelatedElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("VolumeOnRelatingElement", new[] { "IFCCONNECTIONVOLUMEGEOMETRY" }, new[] { "IFCCONNECTIONVOLUMEGEOMETRY" });
		destinationSchema.AddAttribute("VolumeOnRelatedElement", new[] { "IFCCONNECTIONVOLUMEGEOMETRY" }, new[] { "IFCCONNECTIONVOLUMEGEOMETRY" });
		destinationSchema.AddAttribute("AxisTag", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AxisCurve", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" });
		destinationSchema.AddAttribute("PlacementLocation", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("PlacementRefDirection", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("PlacementRelTo", new[] { "IFCLINEARPLACEMENT", "IFCLOCALPLACEMENT" }, new[] { "IFCLINEARPLACEMENT", "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("CartesianPosition", new[] { "IFCLINEARPLACEMENT" }, new[] { "IFCLINEARPLACEMENT" });
		destinationSchema.AddAttribute("RelativePlacement", new[] { "IFCLOCALPLACEMENT" }, new[] { "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("IntersectingAxes", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" });
		destinationSchema.AddAttribute("OffsetDistances", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Source", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Edition", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EditionDate", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("ReferenceTokens", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedSource", new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "IFCCLASSIFICATIONREFERENCE" });
		destinationSchema.AddAttribute("Sort", new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("IntendedUse", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Scope", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Revision", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DocumentOwner", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("Editors", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("CreationTime", new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT" }, new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LastRevisionTime", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ElectronicFormat", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ValidFrom", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("ValidUntil", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("Confidentiality", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedDocuments", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelationshipType", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedDocument", new[] { "IFCDOCUMENTREFERENCE" }, new[] { "IFCDOCUMENTREFERENCE" });
		destinationSchema.AddAttribute("RelatingReference", new[] { "IFCEXTERNALREFERENCERELATIONSHIP" }, new[] { "IFCEXTERNALREFERENCERELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedResourceObjects", new[] { "IFCEXTERNALREFERENCERELATIONSHIP", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" }, new[] { "IFCEXTERNALREFERENCERELATIONSHIP", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Publisher", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" });
		destinationSchema.AddAttribute("VersionDate", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("Language", new[] { "IFCLIBRARYREFERENCE" }, new[] { "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedLibrary", new[] { "IFCLIBRARYREFERENCE" }, new[] { "IFCLIBRARYREFERENCE" });
		destinationSchema.AddAttribute("DataOrigin", new[] { "IFCSCHEDULINGTIME", "IFCTIMESERIES" }, new[] { "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedDataOrigin", new[] { "IFCSCHEDULINGTIME", "IFCTIMESERIES" }, new[] { "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActualDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EarlyDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EndTime", new[] { "IFCTIMESERIES", "IFCTIMEPERIOD" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCTIMEPERIOD" }, new[] { "xs:dateTime", "xs:time" });
		destinationSchema.AddAttribute("TimeSeriesDataType", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TimeStamp", new[] { "IFCIRREGULARTIMESERIESVALUE" }, new[] { "IFCIRREGULARTIMESERIESVALUE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LagValue", new[] { "IFCLAGTIME" }, new[] { "IFCLAGTIME" });
		destinationSchema.AddAttribute("DurationType", new[] { "IFCLAGTIME", "IFCTASKTIME" }, new[] { "IFCLAGTIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RecurrenceType", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DayComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("WeekdayComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MonthComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Interval", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Occurrences", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TimePeriods", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" });
		destinationSchema.AddAttribute("TimeStep", new[] { "IFCREGULARTIMESERIES" }, new[] { "IFCREGULARTIMESERIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("ScheduleUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleStart", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleFinish", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleContour", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LevelingDelay", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("IsOverAllocated", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("StatusTime", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ActualWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("ActualUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ActualStart", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ActualFinish", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("RemainingWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("RemainingUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Completion", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleDuration", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("EarlyStart", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EarlyFinish", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateStart", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateFinish", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("FreeFloat", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("IsCritical", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ActualDuration", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("RemainingTime", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("Recurrence", new[] { "IFCTASKTIMERECURRING" }, new[] { "IFCTASKTIMERECURRING" });
		destinationSchema.AddAttribute("RecurrencePattern", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" });
		destinationSchema.AddAttribute("Start", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("Finish", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("AppliedValue", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("UnitBasis", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("ApplicableDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("FixedUntilDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("Condition", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ArithmeticOperator", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Components", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("RelatingMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("ExchangeRate", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RateDateTime", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("RateSource", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("LifeCyclePhase", new[] { "IFCPERFORMANCEHISTORY" }, new[] { "IFCPERFORMANCEHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingApproval", new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" }, new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Intent", new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConstraint", new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCRESOURCECONSTRAINTRELATIONSHIP" }, new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCRESOURCECONSTRAINTRELATIONSHIP" });
		destinationSchema.AddAttribute("BaseCosts", new[] { "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONRESOURCETYPE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" });
		destinationSchema.AddAttribute("BaseQuantity", new[] { "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONRESOURCETYPE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" });
		destinationSchema.AddAttribute("ConstraintGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConstraintSource", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CreatingActor", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("UserDefinedGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Benchmark", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ValueSource", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DataValue", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" });
		destinationSchema.AddAttribute("BenchmarkValues", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("LogicalAggregator", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectiveQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TypeIdentifier", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AttributeIdentifier", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InstanceName", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ListPositions", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("InnerReference", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" });
		destinationSchema.AddAttribute("LiningDepth", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningOffset", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShapeAspectStyle", new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" });
		destinationSchema.AddAttribute("LiningToPanelOffsetX", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningToPanelOffsetY", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelDepth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelOperation", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PanelWidth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelPosition", new[] { "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Sizeable", new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "IFCDOORSTYLE", "IFCWINDOWSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("FrameDepth", new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrameThickness", new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MullionThickness", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TimeOfApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("Level", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Qualifier", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RequestingApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" });
		destinationSchema.AddAttribute("GivingApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" });
		destinationSchema.AddAttribute("RelatedApprovals", new[] { "IFCAPPROVALRELATIONSHIP" }, new[] { "IFCAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Role", new[] { "IFCACTORROLE" }, new[] { "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedRole", new[] { "IFCACTORROLE" }, new[] { "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedPurpose", new[] { "IFCADDRESS" }, new[] { "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Roles", new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" }, new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("Addresses", new[] { "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCORGANIZATION", "IFCPERSON" });
		destinationSchema.AddAttribute("RelatingOrganization", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedOrganizations", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("FamilyName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("GivenName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MiddleNames", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PrefixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SuffixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ThePerson", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("TheOrganization", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("InternalLocation", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AddressLines", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalBox", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Town", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Region", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalCode", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Country", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TelephoneNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FacsimileNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PagerNumber", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElectronicMailAddresses", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WWWHomePageURL", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MessagingIDs", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
	}

    static partial void GetAttributesIFC4x3(SchemaInfo destinationSchema)
	{
		destinationSchema.AddAttribute("GlobalId", new[] { "IFCROOT" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCDEEPFOUNDATION", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCQUANTITYSET", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATES", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCRELADHERESTOELEMENT", "IFCRELASSOCIATESPROFILEDEF", "IFCRELPOSITIONS", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwnerHistory", new[] { "IFCROOT" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCDEEPFOUNDATION", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCQUANTITYSET", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATES", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCRELADHERESTOELEMENT", "IFCRELASSOCIATESPROFILEDEF", "IFCRELPOSITIONS", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" });
		destinationSchema.AddAttribute("Name", new[] { "IFCROOT", "IFCPHYSICALQUANTITY", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCEXTENDEDPROPERTIES", "IFCRESOURCELEVELRELATIONSHIP", "IFCLIGHTSOURCE", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCCOORDINATEREFERENCESYSTEM", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCDERIVEDUNIT", "IFCSIUNIT", "IFCPROPERTY", "IFCPROPERTYENUMERATION", "IFCBOUNDARYCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCCOLOURSPECIFICATION", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCPREDEFINEDITEM", "IFCEXTERNALREFERENCE", "IFCSTYLEDITEM", "IFCTABLE", "IFCTABLECOLUMN", "IFCCLASSIFICATION", "IFCDOCUMENTINFORMATION", "IFCLIBRARYINFORMATION", "IFCSCHEDULINGTIME", "IFCTIMESERIES", "IFCAPPLIEDVALUE", "IFCCONSTRAINT", "IFCAPPROVAL", "IFCORGANIZATION" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCQUANTITYNUMBER", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES", "IFCEXTENDEDPROPERTIES", "IFCMATERIALRELATIONSHIP", "IFCRESOURCELEVELRELATIONSHIP", "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCDEEPFOUNDATION", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCCOORDINATEREFERENCESYSTEM", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCPROJECTEDCRS", "IFCSHAPEASPECT", "IFCGEOGRAPHICCRS", "IFCCONTEXTDEPENDENTUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCDERIVEDUNIT", "IFCSIUNIT", "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBOUNDARYCONDITION", "IFCBOUNDARYEDGECONDITION", "IFCBOUNDARYFACECONDITION", "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING", "IFCFAILURECONNECTIONCONDITION", "IFCSTRUCTURALCONNECTIONCONDITION", "IFCSLIPPAGECONNECTIONCONDITION", "IFCSTRUCTURALLOAD", "IFCSTRUCTURALLOADCONFIGURATION", "IFCSTRUCTURALLOADLINEARFORCE", "IFCSTRUCTURALLOADSTATIC", "IFCSTRUCTURALLOADORRESULT", "IFCSTRUCTURALLOADPLANARFORCE", "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION", "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING", "IFCSTRUCTURALLOADTEMPERATURE", "IFCSURFACEREINFORCEMENTAREA", "IFCCOLOURRGB", "IFCCOLOURSPECIFICATION", "IFCCURVESTYLE", "IFCPRESENTATIONSTYLE", "IFCCURVESTYLEFONT", "IFCCURVESTYLEFONTANDSCALING", "IFCDRAUGHTINGPREDEFINEDCOLOUR", "IFCPREDEFINEDCOLOUR", "IFCPREDEFINEDITEM", "IFCDRAUGHTINGPREDEFINEDCURVEFONT", "IFCPREDEFINEDCURVEFONT", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCFILLAREASTYLE", "IFCPREDEFINEDTEXTFONT", "IFCSTYLEDITEM", "IFCSURFACESTYLE", "IFCTEXTSTYLE", "IFCTEXTSTYLEFONTMODEL", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCPROFILEPROPERTIES", "IFCTABLE", "IFCTABLECOLUMN", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCQUANTITYSET", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATES", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCRELADHERESTOELEMENT", "IFCRELASSOCIATESPROFILEDEF", "IFCRELPOSITIONS", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTINFORMATIONRELATIONSHIP", "IFCDOCUMENTREFERENCE", "IFCEXTERNALREFERENCERELATIONSHIP", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME", "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCCURRENCYRELATIONSHIP", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Description", new[] { "IFCROOT", "IFCPHYSICALQUANTITY", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERSET", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCEXTENDEDPROPERTIES", "IFCRESOURCELEVELRELATIONSHIP", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCCOORDINATEREFERENCESYSTEM", "IFCPRODUCTREPRESENTATION", "IFCSHAPEASPECT", "IFCTABLECOLUMN", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCTIMESERIES", "IFCAPPLIEDVALUE", "IFCCONSTRAINT", "IFCAPPROVAL", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCOBJECTDEFINITION", "IFCROOT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTS", "IFCRELATIONSHIP", "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCPHYSICALCOMPLEXQUANTITY", "IFCPHYSICALQUANTITY", "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCQUANTITYNUMBER", "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALCONSTITUENTSET", "IFCMATERIALLAYER", "IFCMATERIALLAYERSET", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILESET", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES", "IFCEXTENDEDPROPERTIES", "IFCMATERIALRELATIONSHIP", "IFCRESOURCELEVELRELATIONSHIP", "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCDEEPFOUNDATION", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCEMENTDEFINITIONPROPERTIES", "IFCPREDEFINEDPROPERTYSET", "IFCPROPERTYSETDEFINITION", "IFCPROPERTYDEFINITION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCRELSEQUENCE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCRELFLOWCONTROLELEMENTS", "IFCCOORDINATEREFERENCESYSTEM", "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE", "IFCPROJECTEDCRS", "IFCSHAPEASPECT", "IFCGEOGRAPHICCRS", "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCPROFILEPROPERTIES", "IFCTABLECOLUMN", "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATE", "IFCPROPERTYTEMPLATEDEFINITION", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCPROPERTYSET", "IFCPROPERTYSETTEMPLATE", "IFCQUANTITYSET", "IFCRELAGGREGATES", "IFCRELDECOMPOSES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATES", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDECLARES", "IFCRELDEFINES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTEMPLATE", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRESOURCE", "IFCSIMPLEPROPERTYTEMPLATE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCELEMENTQUANTITY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCRELASSOCIATESMATERIAL", "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELFILLSELEMENT", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELREFERENCEDINSPATIALSTRUCTURE", "IFCRELSERVICESBUILDINGS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL", "IFCRELVOIDSELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCRELADHERESTOELEMENT", "IFCRELASSOCIATESPROFILEDEF", "IFCRELPOSITIONS", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCCLASSIFICATION", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTINFORMATIONRELATIONSHIP", "IFCDOCUMENTREFERENCE", "IFCEXTERNALREFERENCERELATIONSHIP", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCAPPLIEDVALUE", "IFCCOSTVALUE", "IFCCURRENCYRELATIONSHIP", "IFCPERFORMANCEHISTORY", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE", "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES", "IFCAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP", "IFCACTORROLE", "IFCADDRESS", "IFCORGANIZATION", "IFCORGANIZATIONRELATIONSHIP", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectType", new[] { "IFCOBJECT", "IFCCONTEXT" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCOBJECT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCKERB", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCLIQUIDTERMINAL", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCNAVIGATIONELEMENT", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALANALYSISMODEL", "IFCSYSTEM", "IFCGROUP", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALRESULTGROUP", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCPILE", "IFCDEEPFOUNDATION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCTENDONCONDUIT", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCEVENT", "IFCPROCESS", "IFCPROCEDURE", "IFCTASK", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSTORAGEDEVICE", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCBEAM", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCBEARING", "IFCASSET", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCINVENTORY", "IFCOCCUPANT", "IFCACTOR", "IFCSYSTEMFURNITUREELEMENT", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCRESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCVIRTUALELEMENT", "IFCZONE", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCVEHICLE", "IFCVIBRATIONDAMPER", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCDISTRIBUTIONBOARD", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectPlacement", new[] { "IFCPRODUCT" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCKERB", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCLIQUIDTERMINAL", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCNAVIGATIONELEMENT", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCPILE", "IFCDEEPFOUNDATION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCTENDONCONDUIT", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSTORAGEDEVICE", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCBEAM", "IFCBUILDINGELEMENTPROXY", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCBEARING", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCSYSTEMFURNITUREELEMENT", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCVIRTUALELEMENT", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCVEHICLE", "IFCVIBRATIONDAMPER", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCDISTRIBUTIONBOARD", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" });
		destinationSchema.AddAttribute("Representation", new[] { "IFCPRODUCT" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCPRODUCT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCKERB", "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAIL", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCLIQUIDTERMINAL", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCNAVIGATIONELEMENT", "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALITEM", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACECONNECTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCPILE", "IFCDEEPFOUNDATION", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCTENDONCONDUIT", "IFCFIRESUPPRESSIONTERMINAL", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCSANITARYTERMINAL", "IFCSTACKTERMINAL", "IFCWASTETERMINAL", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONPORT", "IFCPORT", "IFCENERGYCONVERSIONDEVICE", "IFCFLOWCONTROLLER", "IFCFLOWFITTING", "IFCFLOWMOVINGDEVICE", "IFCFLOWSTORAGEDEVICE", "IFCBUILDINGELEMENTPART", "IFCDISCRETEACCESSORY", "IFCFASTENER", "IFCMECHANICALFASTENER", "IFCBEAM", "IFCBUILDINGELEMENTPROXY", "IFCCHIMNEY", "IFCCOLUMN", "IFCCOVERING", "IFCCURTAINWALL", "IFCDOOR", "IFCMEMBER", "IFCPLATE", "IFCRAILING", "IFCRAMP", "IFCRAMPFLIGHT", "IFCROOF", "IFCSHADINGDEVICE", "IFCSLAB", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWINDOW", "IFCBEARING", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCSYSTEMFURNITUREELEMENT", "IFCALIGNMENT", "IFCLINEARPOSITIONINGELEMENT", "IFCPOSITIONINGELEMENT", "IFCREFERENT", "IFCANNOTATION", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCCIVILELEMENT", "IFCELEMENTASSEMBLY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSITE", "IFCSPACE", "IFCSPATIALZONE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCVIRTUALELEMENT", "IFCALIGNMENTCANT", "IFCLINEARELEMENT", "IFCALIGNMENTHORIZONTAL", "IFCALIGNMENTSEGMENT", "IFCALIGNMENTVERTICAL", "IFCBRIDGE", "IFCBRIDGEPART", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCVEHICLE", "IFCVIBRATIONDAMPER", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTOAIRHEATRECOVERY", "IFCBOILER", "IFCBURNER", "IFCCHILLER", "IFCCOIL", "IFCCOMPRESSOR", "IFCCONDENSER", "IFCCOOLEDBEAM", "IFCCOOLINGTOWER", "IFCDAMPER", "IFCDUCTFITTING", "IFCDUCTSEGMENT", "IFCDUCTSILENCER", "IFCENGINE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATOR", "IFCFAN", "IFCFILTER", "IFCFLOWMETER", "IFCHEATEXCHANGER", "IFCHUMIDIFIER", "IFCMEDICALDEVICE", "IFCPIPEFITTING", "IFCPIPESEGMENT", "IFCPUMP", "IFCSPACEHEATER", "IFCTANK", "IFCTUBEBUNDLE", "IFCUNITARYEQUIPMENT", "IFCVALVE", "IFCVIBRATIONISOLATOR", "IFCAUDIOVISUALAPPLIANCE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERSEGMENT", "IFCCABLEFITTING", "IFCCABLESEGMENT", "IFCCOMMUNICATIONSAPPLIANCE", "IFCDISTRIBUTIONBOARD", "IFCELECTRICAPPLIANCE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICGENERATOR", "IFCELECTRICMOTOR", "IFCELECTRICTIMECONTROL", "IFCJUNCTIONBOX", "IFCLAMP", "IFCLIGHTFIXTURE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOTORCONNECTION", "IFCOUTLET", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCSOLARDEVICE", "IFCSWITCHINGDEVICE", "IFCTRANSFORMER", "IFCACTUATOR", "IFCALARM", "IFCCONTROLLER", "IFCFLOWINSTRUMENT", "IFCSENSOR", "IFCUNITARYCONTROLELEMENT" });
		destinationSchema.AddAttribute("Tag", new[] { "IFCELEMENT", "IFCTYPEPRODUCT", "IFCOFFSETCURVEBYDISTANCES" }, new[] { "IFCBOREHOLE", "IFCGEOTECHNICALASSEMBLY", "IFCGEOTECHNICALELEMENT", "IFCELEMENT", "IFCCOURSE", "IFCBUILTELEMENT", "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCEARTHWORKSCUT", "IFCFEATUREELEMENTSUBTRACTION", "IFCFEATUREELEMENT", "IFCEARTHWORKSELEMENT", "IFCEARTHWORKSFILL", "IFCGEOMODEL", "IFCGEOSLICE", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCELEMENTCOMPONENT", "IFCSIGNAL", "IFCFLOWTERMINAL", "IFCDISTRIBUTIONFLOWELEMENT", "IFCDISTRIBUTIONELEMENT", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERB", "IFCKERBTYPE", "IFCRAIL", "IFCRAILTYPE", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCFLOWSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCDEEPFOUNDATION", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCFLOWTREATMENTDEVICE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENT", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLER", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTING", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICE", "IFCFLOWSTORAGEDEVICETYPE", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCFURNITURE", "IFCFURNISHINGELEMENT", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCCIVILELEMENT", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCFEATUREELEMENTADDITION", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTATIONDEVICE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCVIRTUALELEMENT", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCOFFSETCURVEBYDISTANCES", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PredefinedType", new[] { "IFCCOURSE", "IFCCOURSETYPE", "IFCEARTHWORKSCUT", "IFCEARTHWORKSFILL", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCSIGNAL", "IFCSIGNALTYPE", "IFCSIGNTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCROADPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCPILETYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCEVENTTYPE", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONPORT", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCFURNITURE", "IFCFURNITURETYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCREFERENT", "IFCANNOTATION", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCEXTERNALSPATIALELEMENT", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT", "IFCALIGNMENTVERTICALSEGMENT", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "IFCCOURSE", "IFCCOURSETYPE", "IFCEARTHWORKSCUT", "IFCEARTHWORKSFILL", "IFCGEOTECHNICALSTRATUM", "IFCPAVEMENT", "IFCPAVEMENTTYPE", "IFCREINFORCEDSOIL", "IFCSIGN", "IFCSIGNAL", "IFCSIGNALTYPE", "IFCSIGNTYPE", "IFCKERB", "IFCKERBTYPE", "IFCROAD", "IFCROADPART", "IFCRAIL", "IFCRAILTYPE", "IFCRAILWAY", "IFCRAILWAYPART", "IFCTRACKELEMENT", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENT", "IFCCONVEYORSEGMENTTYPE", "IFCLIQUIDTERMINAL", "IFCLIQUIDTERMINALTYPE", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCMOORINGDEVICE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENT", "IFCNAVIGATIONELEMENTTYPE", "IFCSTRUCTURALANALYSISMODEL", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCSTRUCTURALSURFACEREACTION", "IFCFOOTING", "IFCFOOTINGTYPE", "IFCPILE", "IFCPILETYPE", "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE", "IFCSURFACEFEATURE", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCVOIDINGFEATURE", "IFCCAISSONFOUNDATION", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUIT", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINAL", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTOR", "IFCINTERCEPTORTYPE", "IFCSANITARYTERMINAL", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINAL", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINAL", "IFCWASTETERMINALTYPE", "IFCEVENT", "IFCEVENTTYPE", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDISTRIBUTIONCHAMBERELEMENT", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONPORT", "IFCBUILDINGELEMENTPART", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORY", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENER", "IFCFASTENERTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE", "IFCBEAM", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXY", "IFCBUILDINGELEMENTPROXYTYPE", "IFCBUILDINGSYSTEM", "IFCCHIMNEY", "IFCCHIMNEYTYPE", "IFCCOLUMN", "IFCCOLUMNTYPE", "IFCCOVERING", "IFCCOVERINGTYPE", "IFCCURTAINWALL", "IFCCURTAINWALLTYPE", "IFCDOOR", "IFCDOORTYPE", "IFCMEMBER", "IFCMEMBERTYPE", "IFCPLATE", "IFCPLATETYPE", "IFCRAILING", "IFCRAILINGTYPE", "IFCRAMP", "IFCRAMPFLIGHT", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOF", "IFCROOFTYPE", "IFCSHADINGDEVICE", "IFCSHADINGDEVICETYPE", "IFCSLAB", "IFCSLABTYPE", "IFCSTAIR", "IFCSTAIRFLIGHT", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALL", "IFCWALLSTANDARDCASE", "IFCWALLTYPE", "IFCWINDOW", "IFCWINDOWTYPE", "IFCBEARING", "IFCBEARINGTYPE", "IFCFURNITURE", "IFCFURNITURETYPE", "IFCINVENTORY", "IFCOCCUPANT", "IFCSYSTEMFURNITUREELEMENT", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCALIGNMENT", "IFCREFERENT", "IFCANNOTATION", "IFCELEMENTASSEMBLY", "IFCELEMENTASSEMBLYTYPE", "IFCEXTERNALSPATIALELEMENT", "IFCGEOGRAPHICELEMENT", "IFCGEOGRAPHICELEMENTTYPE", "IFCGRID", "IFCOPENINGELEMENT", "IFCPROJECTIONELEMENT", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENT", "IFCTRANSPORTELEMENTTYPE", "IFCVIRTUALELEMENT", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON", "IFCIMPACTPROTECTIONDEVICE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPER", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINAL", "IFCAIRTERMINALBOX", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERY", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILER", "IFCBOILERTYPE", "IFCBURNER", "IFCBURNERTYPE", "IFCCHILLER", "IFCCHILLERTYPE", "IFCCOIL", "IFCCOILTYPE", "IFCCOMPRESSOR", "IFCCOMPRESSORTYPE", "IFCCONDENSER", "IFCCONDENSERTYPE", "IFCCOOLEDBEAM", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWER", "IFCCOOLINGTOWERTYPE", "IFCDAMPER", "IFCDAMPERTYPE", "IFCDUCTFITTING", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENT", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCER", "IFCDUCTSILENCERTYPE", "IFCENGINE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLER", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATOR", "IFCEVAPORATORTYPE", "IFCFAN", "IFCFANTYPE", "IFCFILTER", "IFCFILTERTYPE", "IFCFLOWMETER", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGER", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIER", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTING", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENT", "IFCPIPESEGMENTTYPE", "IFCPUMP", "IFCPUMPTYPE", "IFCSPACEHEATER", "IFCSPACEHEATERTYPE", "IFCTANK", "IFCTANKTYPE", "IFCTUBEBUNDLE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENT", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVE", "IFCVALVETYPE", "IFCVIBRATIONISOLATOR", "IFCVIBRATIONISOLATORTYPE", "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT", "IFCALIGNMENTVERTICALSEGMENT", "IFCAUDIOVISUALAPPLIANCE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTING", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENT", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTING", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENT", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARD", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARD", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATOR", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTOR", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROL", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOX", "IFCJUNCTIONBOXTYPE", "IFCLAMP", "IFCLAMPTYPE", "IFCLIGHTFIXTURE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTION", "IFCMOTORCONNECTIONTYPE", "IFCOUTLET", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICE", "IFCPROTECTIVEDEVICETRIPPINGUNIT", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMER", "IFCTRANSFORMERTYPE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATOR", "IFCACTUATORTYPE", "IFCALARM", "IFCALARMTYPE", "IFCCONTROLLER", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENT", "IFCFLOWINSTRUMENTTYPE", "IFCSENSOR", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENT", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicableOccurrence", new[] { "IFCTYPEOBJECT" }, new[] { "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPAVEMENTTYPE", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERBTYPE", "IFCRAILTYPE", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINALTYPE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENTTYPE", "IFCFOOTINGTYPE", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCBEARINGTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCTYPERESOURCE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasPropertySets", new[] { "IFCTYPEOBJECT" }, new[] { "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCTYPEOBJECT", "IFCPAVEMENTTYPE", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERBTYPE", "IFCRAILTYPE", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINALTYPE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENTTYPE", "IFCFOOTINGTYPE", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCBEARINGTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCTYPERESOURCE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE" });
		destinationSchema.AddAttribute("RepresentationMaps", new[] { "IFCTYPEPRODUCT" }, new[] { "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCTYPEPRODUCT", "IFCPAVEMENTTYPE", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERBTYPE", "IFCRAILTYPE", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINALTYPE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENTTYPE", "IFCFOOTINGTYPE", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCBEARINGTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE" });
		destinationSchema.AddAttribute("ElementType", new[] { "IFCELEMENTTYPE", "IFCSPATIALELEMENTTYPE" }, new[] { "IFCCOURSETYPE", "IFCBUILTELEMENTTYPE", "IFCELEMENTTYPE", "IFCPAVEMENTTYPE", "IFCSIGNALTYPE", "IFCFLOWTERMINALTYPE", "IFCDISTRIBUTIONFLOWELEMENTTYPE", "IFCDISTRIBUTIONELEMENTTYPE", "IFCSIGNTYPE", "IFCELEMENTCOMPONENTTYPE", "IFCKERBTYPE", "IFCRAILTYPE", "IFCTRACKELEMENTTYPE", "IFCCONVEYORSEGMENTTYPE", "IFCFLOWSEGMENTTYPE", "IFCLIQUIDTERMINALTYPE", "IFCMOORINGDEVICETYPE", "IFCNAVIGATIONELEMENTTYPE", "IFCFOOTINGTYPE", "IFCPILETYPE", "IFCDEEPFOUNDATIONTYPE", "IFCREINFORCINGBARTYPE", "IFCREINFORCINGELEMENTTYPE", "IFCREINFORCINGMESHTYPE", "IFCTENDONANCHORTYPE", "IFCTENDONTYPE", "IFCCAISSONFOUNDATIONTYPE", "IFCTENDONCONDUITTYPE", "IFCFIRESUPPRESSIONTERMINALTYPE", "IFCINTERCEPTORTYPE", "IFCFLOWTREATMENTDEVICETYPE", "IFCSANITARYTERMINALTYPE", "IFCSTACKTERMINALTYPE", "IFCWASTETERMINALTYPE", "IFCDISTRIBUTIONCHAMBERELEMENTTYPE", "IFCDISTRIBUTIONCONTROLELEMENTTYPE", "IFCENERGYCONVERSIONDEVICETYPE", "IFCFLOWCONTROLLERTYPE", "IFCFLOWFITTINGTYPE", "IFCFLOWMOVINGDEVICETYPE", "IFCFLOWSTORAGEDEVICETYPE", "IFCBUILDINGELEMENTPARTTYPE", "IFCDISCRETEACCESSORYTYPE", "IFCFASTENERTYPE", "IFCMECHANICALFASTENERTYPE", "IFCBEAMTYPE", "IFCBUILDINGELEMENTPROXYTYPE", "IFCCHIMNEYTYPE", "IFCCOLUMNTYPE", "IFCCOVERINGTYPE", "IFCCURTAINWALLTYPE", "IFCDOORTYPE", "IFCMEMBERTYPE", "IFCPLATETYPE", "IFCRAILINGTYPE", "IFCRAMPFLIGHTTYPE", "IFCRAMPTYPE", "IFCROOFTYPE", "IFCSHADINGDEVICETYPE", "IFCSLABTYPE", "IFCSTAIRFLIGHTTYPE", "IFCSTAIRTYPE", "IFCWALLTYPE", "IFCWINDOWTYPE", "IFCBEARINGTYPE", "IFCFURNITURETYPE", "IFCFURNISHINGELEMENTTYPE", "IFCSYSTEMFURNITUREELEMENTTYPE", "IFCCIVILELEMENTTYPE", "IFCELEMENTASSEMBLYTYPE", "IFCGEOGRAPHICELEMENTTYPE", "IFCSPACETYPE", "IFCSPATIALSTRUCTUREELEMENTTYPE", "IFCSPATIALELEMENTTYPE", "IFCSPATIALZONETYPE", "IFCTRANSPORTELEMENTTYPE", "IFCTRANSPORTATIONDEVICETYPE", "IFCIMPACTPROTECTIONDEVICETYPE", "IFCVEHICLETYPE", "IFCVIBRATIONDAMPERTYPE", "IFCAIRTERMINALBOXTYPE", "IFCAIRTERMINALTYPE", "IFCAIRTOAIRHEATRECOVERYTYPE", "IFCBOILERTYPE", "IFCBURNERTYPE", "IFCCHILLERTYPE", "IFCCOILTYPE", "IFCCOMPRESSORTYPE", "IFCCONDENSERTYPE", "IFCCOOLEDBEAMTYPE", "IFCCOOLINGTOWERTYPE", "IFCDAMPERTYPE", "IFCDUCTFITTINGTYPE", "IFCDUCTSEGMENTTYPE", "IFCDUCTSILENCERTYPE", "IFCENGINETYPE", "IFCEVAPORATIVECOOLERTYPE", "IFCEVAPORATORTYPE", "IFCFANTYPE", "IFCFILTERTYPE", "IFCFLOWMETERTYPE", "IFCHEATEXCHANGERTYPE", "IFCHUMIDIFIERTYPE", "IFCMEDICALDEVICETYPE", "IFCPIPEFITTINGTYPE", "IFCPIPESEGMENTTYPE", "IFCPUMPTYPE", "IFCSPACEHEATERTYPE", "IFCTANKTYPE", "IFCTUBEBUNDLETYPE", "IFCUNITARYEQUIPMENTTYPE", "IFCVALVETYPE", "IFCVIBRATIONISOLATORTYPE", "IFCAUDIOVISUALAPPLIANCETYPE", "IFCCABLECARRIERFITTINGTYPE", "IFCCABLECARRIERSEGMENTTYPE", "IFCCABLEFITTINGTYPE", "IFCCABLESEGMENTTYPE", "IFCCOMMUNICATIONSAPPLIANCETYPE", "IFCDISTRIBUTIONBOARDTYPE", "IFCELECTRICAPPLIANCETYPE", "IFCELECTRICDISTRIBUTIONBOARDTYPE", "IFCELECTRICFLOWSTORAGEDEVICETYPE", "IFCELECTRICFLOWTREATMENTDEVICETYPE", "IFCELECTRICGENERATORTYPE", "IFCELECTRICMOTORTYPE", "IFCELECTRICTIMECONTROLTYPE", "IFCJUNCTIONBOXTYPE", "IFCLAMPTYPE", "IFCLIGHTFIXTURETYPE", "IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE", "IFCMOTORCONNECTIONTYPE", "IFCOUTLETTYPE", "IFCPROTECTIVEDEVICETRIPPINGUNITTYPE", "IFCPROTECTIVEDEVICETYPE", "IFCSOLARDEVICETYPE", "IFCSWITCHINGDEVICETYPE", "IFCTRANSFORMERTYPE", "IFCACTUATORTYPE", "IFCALARMTYPE", "IFCCONTROLLERTYPE", "IFCFLOWINSTRUMENTTYPE", "IFCSENSORTYPE", "IFCUNITARYCONTROLELEMENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LongName", new[] { "IFCSPATIALELEMENT", "IFCDISTRIBUTIONSYSTEM", "IFCBUILDINGSYSTEM", "IFCCONTEXT", "IFCSPACETYPE", "IFCSPATIALZONETYPE", "IFCZONE", "IFCBUILTSYSTEM" }, new[] { "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCSPATIALELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAILWAY", "IFCRAILWAYPART", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCDISTRIBUTIONCIRCUIT", "IFCDISTRIBUTIONSYSTEM", "IFCBUILDINGSYSTEM", "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCEXTERNALSPATIALELEMENT", "IFCEXTERNALSPATIALSTRUCTUREELEMENT", "IFCSITE", "IFCSPACE", "IFCSPACETYPE", "IFCSPATIALZONE", "IFCSPATIALZONETYPE", "IFCZONE", "IFCBRIDGE", "IFCBRIDGEPART", "IFCBUILTSYSTEM", "IFCFACILITYPARTCOMMON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CompositionType", new[] { "IFCSPATIALSTRUCTUREELEMENT" }, new[] { "IFCROAD", "IFCFACILITY", "IFCSPATIALSTRUCTUREELEMENT", "IFCROADPART", "IFCFACILITYPART", "IFCRAILWAY", "IFCRAILWAYPART", "IFCMARINEFACILITY", "IFCMARINEPART", "IFCBUILDING", "IFCBUILDINGSTOREY", "IFCSITE", "IFCSPACE", "IFCBRIDGE", "IFCBRIDGEPART", "IFCFACILITYPARTCOMMON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UsageType", new[] { "IFCFACILITYPART" }, new[] { "IFCROADPART", "IFCFACILITYPART", "IFCRAILWAYPART", "IFCMARINEPART", "IFCBRIDGEPART", "IFCFACILITYPARTCOMMON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingElement", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSELEMENTS", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELADHERESTOELEMENT" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY", "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELINTERFERESELEMENTS", "IFCRELPROJECTSELEMENT", "IFCRELADHERESTOELEMENT" });
		destinationSchema.AddAttribute("RelatedStructuralActivity", new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" }, new[] { "IFCRELCONNECTSSTRUCTURALACTIVITY" });
		destinationSchema.AddAttribute("RelatingStructuralMember", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("RelatedStructuralConnection", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("AppliedCondition", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCSTRUCTURALCONNECTION" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALCONNECTION", "IFCSTRUCTURALCURVECONNECTION", "IFCSTRUCTURALPOINTCONNECTION", "IFCSTRUCTURALSURFACECONNECTION" });
		destinationSchema.AddAttribute("AdditionalConditions", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("SupportedLength", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConditionCoordinateSystem", new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCSTRUCTURALPOINTCONNECTION" }, new[] { "IFCRELCONNECTSSTRUCTURALMEMBER", "IFCRELCONNECTSWITHECCENTRICITY", "IFCSTRUCTURALPOINTCONNECTION" });
		destinationSchema.AddAttribute("ConnectionConstraint", new[] { "IFCRELCONNECTSWITHECCENTRICITY" }, new[] { "IFCRELCONNECTSWITHECCENTRICITY" });
		destinationSchema.AddAttribute("AppliedLoad", new[] { "IFCSTRUCTURALACTIVITY" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACEREACTION" });
		destinationSchema.AddAttribute("GlobalOrLocal", new[] { "IFCSTRUCTURALACTIVITY" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALACTIVITY", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALCURVEREACTION", "IFCSTRUCTURALREACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION", "IFCSTRUCTURALPOINTREACTION", "IFCSTRUCTURALSURFACEREACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DestabilizingLoad", new[] { "IFCSTRUCTURALACTION" }, new[] { "IFCSTRUCTURALACTION", "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION", "IFCSTRUCTURALPOINTACTION" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("OrientationOf2DPlane", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("LoadedBy", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("HasResults", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("SharedPlacement", new[] { "IFCSTRUCTURALANALYSISMODEL" }, new[] { "IFCSTRUCTURALANALYSISMODEL" });
		destinationSchema.AddAttribute("ProjectedOrTrue", new[] { "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALSURFACEACTION" }, new[] { "IFCSTRUCTURALCURVEACTION", "IFCSTRUCTURALLINEARACTION", "IFCSTRUCTURALPLANARACTION", "IFCSTRUCTURALSURFACEACTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AxisDirection", new[] { "IFCSTRUCTURALCURVECONNECTION" }, new[] { "IFCSTRUCTURALCURVECONNECTION" });
		destinationSchema.AddAttribute("Axis", new[] { "IFCSTRUCTURALCURVEMEMBER", "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCAXIS2PLACEMENTLINEAR", "IFCREVOLVEDAREASOLID" }, new[] { "IFCSTRUCTURALCURVEMEMBER", "IFCSTRUCTURALCURVEMEMBERVARYING", "IFCAXIS1PLACEMENT", "IFCAXIS2PLACEMENT3D", "IFCAXIS2PLACEMENTLINEAR", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("ActionType", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActionSource", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Coefficient", new[] { "IFCSTRUCTURALLOADGROUP" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Purpose", new[] { "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCDOCUMENTINFORMATION", "IFCADDRESS" }, new[] { "IFCSTRUCTURALLOADCASE", "IFCSTRUCTURALLOADGROUP", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCDOCUMENTINFORMATION", "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SelfWeightCoefficients", new[] { "IFCSTRUCTURALLOADCASE" }, new[] { "IFCSTRUCTURALLOADCASE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TheoryType", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResultForLoadGroup", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" });
		destinationSchema.AddAttribute("IsLinear", new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "IFCSTRUCTURALRESULTGROUP" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Thickness", new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "IFCSTRUCTURALSURFACEMEMBER", "IFCSTRUCTURALSURFACEMEMBERVARYING", "IFCCENTERLINEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HasQuantities", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" });
		destinationSchema.AddAttribute("Discrimination", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quality", new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Usage", new[] { "IFCPHYSICALCOMPLEXQUANTITY", "IFCCONSTRUCTIONRESOURCE" }, new[] { "IFCPHYSICALCOMPLEXQUANTITY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCREWRESOURCE", "IFCLABORRESOURCE", "IFCSUBCONTRACTRESOURCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Unit", new[] { "IFCPHYSICALSIMPLEQUANTITY", "IFCDERIVEDUNITELEMENT", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE", "IFCTABLECOLUMN", "IFCTIMESERIES" }, new[] { "IFCPHYSICALSIMPLEQUANTITY", "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCQUANTITYNUMBER", "IFCDERIVEDUNITELEMENT", "IFCPROPERTYBOUNDEDVALUE", "IFCPROPERTYENUMERATION", "IFCPROPERTYLISTVALUE", "IFCPROPERTYSINGLEVALUE", "IFCTABLECOLUMN", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("AreaValue", new[] { "IFCQUANTITYAREA" }, new[] { "IFCQUANTITYAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Formula", new[] { "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCQUANTITYNUMBER" }, new[] { "IFCQUANTITYAREA", "IFCQUANTITYCOUNT", "IFCQUANTITYLENGTH", "IFCQUANTITYTIME", "IFCQUANTITYVOLUME", "IFCQUANTITYWEIGHT", "IFCQUANTITYNUMBER" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CountValue", new[] { "IFCQUANTITYCOUNT" }, new[] { "IFCQUANTITYCOUNT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthValue", new[] { "IFCQUANTITYLENGTH" }, new[] { "IFCQUANTITYLENGTH" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TimeValue", new[] { "IFCQUANTITYTIME" }, new[] { "IFCQUANTITYTIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VolumeValue", new[] { "IFCQUANTITYVOLUME" }, new[] { "IFCQUANTITYVOLUME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WeightValue", new[] { "IFCQUANTITYWEIGHT" }, new[] { "IFCQUANTITYWEIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("NumberValue", new[] { "IFCQUANTITYNUMBER" }, new[] { "IFCQUANTITYNUMBER" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Category", new[] { "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCAPPLIEDVALUE" }, new[] { "IFCMATERIAL", "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS", "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MaterialClassifications", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("ClassifiedMaterial", new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" }, new[] { "IFCMATERIALCLASSIFICATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("Material", new[] { "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCMATERIALPROPERTIES" }, new[] { "IFCMATERIALCONSTITUENT", "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS", "IFCMATERIALPROPERTIES" });
		destinationSchema.AddAttribute("Fraction", new[] { "IFCMATERIALCONSTITUENT" }, new[] { "IFCMATERIALCONSTITUENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MaterialConstituents", new[] { "IFCMATERIALCONSTITUENTSET" }, new[] { "IFCMATERIALCONSTITUENTSET" });
		destinationSchema.AddAttribute("LayerThickness", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("IsVentilated", new[] { "IFCMATERIALLAYER" }, new[] { "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Priority", new[] { "IFCMATERIALLAYER", "IFCMATERIALPROFILE", "IFCTASK" }, new[] { "IFCMATERIALLAYER", "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS", "IFCTASK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MaterialLayers", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" });
		destinationSchema.AddAttribute("LayerSetName", new[] { "IFCMATERIALLAYERSET" }, new[] { "IFCMATERIALLAYERSET" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ForLayerSet", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" });
		destinationSchema.AddAttribute("LayerSetDirection", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DirectionSense", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetFromReferenceLine", new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReferenceExtent", new[] { "IFCMATERIALLAYERSETUSAGE", "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALLAYERSETUSAGE", "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetDirection", new[] { "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "IFCMATERIALLAYERWITHOFFSETS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetValues", new[] { "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILEWITHOFFSETS", "IFCOFFSETCURVEBYDISTANCES" }, new[] { "IFCMATERIALLAYERWITHOFFSETS", "IFCMATERIALPROFILEWITHOFFSETS", "IFCOFFSETCURVEBYDISTANCES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Materials", new[] { "IFCMATERIALLIST" }, new[] { "IFCMATERIALLIST" });
		destinationSchema.AddAttribute("Profile", new[] { "IFCMATERIALPROFILE" }, new[] { "IFCMATERIALPROFILE", "IFCMATERIALPROFILEWITHOFFSETS" });
		destinationSchema.AddAttribute("MaterialProfiles", new[] { "IFCMATERIALPROFILESET" }, new[] { "IFCMATERIALPROFILESET" });
		destinationSchema.AddAttribute("CompositeProfile", new[] { "IFCMATERIALPROFILESET" }, new[] { "IFCMATERIALPROFILESET" });
		destinationSchema.AddAttribute("ForProfileSet", new[] { "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" });
		destinationSchema.AddAttribute("CardinalPoint", new[] { "IFCMATERIALPROFILESETUSAGE" }, new[] { "IFCMATERIALPROFILESETUSAGE", "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ForProfileEndSet", new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "IFCMATERIALPROFILESETUSAGETAPERING" });
		destinationSchema.AddAttribute("CardinalEndPoint", new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "IFCMATERIALPROFILESETUSAGETAPERING" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Properties", new[] { "IFCEXTENDEDPROPERTIES" }, new[] { "IFCMATERIALPROPERTIES", "IFCEXTENDEDPROPERTIES", "IFCPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("RelatingMaterial", new[] { "IFCMATERIALRELATIONSHIP", "IFCRELASSOCIATESMATERIAL" }, new[] { "IFCMATERIALRELATIONSHIP", "IFCRELASSOCIATESMATERIAL" });
		destinationSchema.AddAttribute("RelatedMaterials", new[] { "IFCMATERIALRELATIONSHIP" }, new[] { "IFCMATERIALRELATIONSHIP" });
		destinationSchema.AddAttribute("MaterialExpression", new[] { "IFCMATERIALRELATIONSHIP" }, new[] { "IFCMATERIALRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MainPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondaryPlaneAngle", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousIntensity", new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "IFCLIGHTDISTRIBUTIONDATA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightDistributionCurve", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DistributionData", new[] { "IFCLIGHTINTENSITYDISTRIBUTION" }, new[] { "IFCLIGHTINTENSITYDISTRIBUTION" });
		destinationSchema.AddAttribute("LightColour", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" });
		destinationSchema.AddAttribute("AmbientIntensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Intensity", new[] { "IFCLIGHTSOURCE" }, new[] { "IFCLIGHTSOURCE", "IFCLIGHTSOURCEAMBIENT", "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Orientation", new[] { "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCFACEBOUND", "IFCORIENTEDEDGE", "IFCVECTOR" }, new[] { "IFCLIGHTSOURCEDIRECTIONAL", "IFCLIGHTSOURCESPOT", "IFCFACEBOUND", "IFCFACEOUTERBOUND", "IFCORIENTEDEDGE", "IFCVECTOR" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Position", new[] { "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCPARAMETERIZEDPROFILEDEF", "IFCCONIC", "IFCSPIRAL", "IFCELEMENTARYSURFACE", "IFCPOLYNOMIALCURVE", "IFCSWEPTSURFACE", "IFCCSGPRIMITIVE3D", "IFCSWEPTAREASOLID", "IFCPOLYGONALBOUNDEDHALFSPACE", "IFCRECURRENCEPATTERN" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC", "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCCIRCLE", "IFCCONIC", "IFCCLOTHOID", "IFCSPIRAL", "IFCCOSINESPIRAL", "IFCCYLINDRICALSURFACE", "IFCELEMENTARYSURFACE", "IFCELLIPSE", "IFCPLANE", "IFCPOLYNOMIALCURVE", "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCSINESPIRAL", "IFCSPHERICALSURFACE", "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION", "IFCTHIRDORDERPOLYNOMIALSPIRAL", "IFCTOROIDALSURFACE", "IFCBLOCK", "IFCCSGPRIMITIVE3D", "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCSWEPTAREASOLID", "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED", "IFCPOLYGONALBOUNDEDHALFSPACE", "IFCRECTANGULARPYRAMID", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSURFACECURVESWEPTAREASOLID", "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ColourAppearance", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("ColourTemperature", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LuminousFlux", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LightEmissionSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LightDistributionDataSource", new[] { "IFCLIGHTSOURCEGONIOMETRIC" }, new[] { "IFCLIGHTSOURCEGONIOMETRIC" });
		destinationSchema.AddAttribute("Radius", new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCCIRCLEPROFILEDEF", "IFCCIRCLE", "IFCCYLINDRICALSURFACE", "IFCSPHERICALSURFACE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCIRCLE", "IFCCYLINDRICALSURFACE", "IFCSPHERICALSURFACE", "IFCRIGHTCIRCULARCYLINDER", "IFCSPHERE", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConstantAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DistanceAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuadricAttenuation", new[] { "IFCLIGHTSOURCEPOSITIONAL" }, new[] { "IFCLIGHTSOURCEPOSITIONAL", "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConcentrationExponent", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SpreadAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BeamWidthAngle", new[] { "IFCLIGHTSOURCESPOT" }, new[] { "IFCLIGHTSOURCESPOT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AssignedItems", new[] { "IFCPRESENTATIONLAYERASSIGNMENT" }, new[] { "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("Identifier", new[] { "IFCPRESENTATIONLAYERASSIGNMENT", "IFCTABLECOLUMN", "IFCAPPROVAL" }, new[] { "IFCPRESENTATIONLAYERASSIGNMENT", "IFCPRESENTATIONLAYERWITHSTYLE", "IFCTABLECOLUMN", "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerOn", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerFrozen", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerBlocked", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LayerStyles", new[] { "IFCPRESENTATIONLAYERWITHSTYLE" }, new[] { "IFCPRESENTATIONLAYERWITHSTYLE" });
		destinationSchema.AddAttribute("ConstructionType", new[] { "IFCPILE" }, new[] { "IFCPILE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DefinitionType", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReinforcementSectionDefinitions", new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" }, new[] { "IFCREINFORCEMENTDEFINITIONPROPERTIES" });
		destinationSchema.AddAttribute("SteelGrade", new[] { "IFCREINFORCINGELEMENT", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGELEMENT", "IFCREINFORCINGMESH", "IFCTENDON", "IFCTENDONANCHOR", "IFCTENDONCONDUIT", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("NominalDiameter", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE", "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CrossSectionArea", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCTENDON", "IFCTENDONTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarLength", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarSurface", new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCINGBAR", "IFCREINFORCINGBARTYPE", "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BendingShapeCode", new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("BendingParameters", new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGBARTYPE", "IFCREINFORCINGMESHTYPE" });
		destinationSchema.AddAttribute("MeshLength", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MeshWidth", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarNominalDiameter", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarNominalDiameter", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarCrossSectionArea", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarCrossSectionArea", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalBarSpacing", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransverseBarSpacing", new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "IFCREINFORCINGMESH", "IFCREINFORCINGMESHTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionForce", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PreStress", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrictionCoefficient", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("AnchorageSlip", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinCurvatureRadius", new[] { "IFCTENDON" }, new[] { "IFCTENDON" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SheathDiameter", new[] { "IFCTENDONTYPE" }, new[] { "IFCTENDONTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Identification", new[] { "IFCPROCESS", "IFCTYPEPROCESS", "IFCCONTROL", "IFCEXTERNALREFERENCE", "IFCASSET", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCDOCUMENTINFORMATION", "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCWORKCALENDAR", "IFCCONTROL", "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCASSET", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCCOSTITEM", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYREFERENCE", "IFCPERFORMANCEHISTORY", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE", "IFCORGANIZATION", "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LongDescription", new[] { "IFCPROCESS", "IFCTYPEPROCESS", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCPERMIT", "IFCPROJECTORDER" }, new[] { "IFCEVENT", "IFCPROCESS", "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURE", "IFCPROCEDURETYPE", "IFCTASK", "IFCTASKTYPE", "IFCRESOURCE", "IFCTYPERESOURCE", "IFCACTIONREQUEST", "IFCPERMIT", "IFCPROJECTORDER", "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EventTriggerType", new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedEventTriggerType", new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "IFCEVENT", "IFCEVENTTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EventOccurenceTime", new[] { "IFCEVENT" }, new[] { "IFCEVENT" });
		destinationSchema.AddAttribute("ProcessType", new[] { "IFCTYPEPROCESS" }, new[] { "IFCEVENTTYPE", "IFCTYPEPROCESS", "IFCPROCEDURETYPE", "IFCTASKTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingProcess", new[] { "IFCRELSEQUENCE", "IFCRELASSIGNSTOPROCESS" }, new[] { "IFCRELSEQUENCE", "IFCRELASSIGNSTOPROCESS" });
		destinationSchema.AddAttribute("RelatedProcess", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("TimeLag", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" });
		destinationSchema.AddAttribute("SequenceType", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedSequenceType", new[] { "IFCRELSEQUENCE" }, new[] { "IFCRELSEQUENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Status", new[] { "IFCTASK", "IFCACTIONREQUEST", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCDOCUMENTINFORMATION", "IFCAPPROVAL" }, new[] { "IFCTASK", "IFCACTIONREQUEST", "IFCCOSTSCHEDULE", "IFCPERMIT", "IFCPROJECTORDER", "IFCDOCUMENTINFORMATION", "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WorkMethod", new[] { "IFCTASK", "IFCTASKTYPE" }, new[] { "IFCTASK", "IFCTASKTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("IsMilestone", new[] { "IFCTASK" }, new[] { "IFCTASK" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("TaskTime", new[] { "IFCTASK" }, new[] { "IFCTASK" });
		destinationSchema.AddAttribute("WorkingTimes", new[] { "IFCWORKCALENDAR" }, new[] { "IFCWORKCALENDAR" });
		destinationSchema.AddAttribute("ExceptionTimes", new[] { "IFCWORKCALENDAR" }, new[] { "IFCWORKCALENDAR" });
		destinationSchema.AddAttribute("CreationDate", new[] { "IFCWORKCONTROL", "IFCOWNERHISTORY" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCOWNERHISTORY" }, new[] { "xs:dateTime", "xs:integer" });
		destinationSchema.AddAttribute("Creators", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" });
		destinationSchema.AddAttribute("Duration", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("TotalFloat", new[] { "IFCWORKCONTROL", "IFCTASKTIME" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("StartTime", new[] { "IFCWORKCONTROL", "IFCTIMESERIES", "IFCTIMEPERIOD" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCTIMEPERIOD" }, new[] { "xs:dateTime", "xs:time" });
		destinationSchema.AddAttribute("FinishTime", new[] { "IFCWORKCONTROL" }, new[] { "IFCWORKCONTROL", "IFCWORKPLAN", "IFCWORKSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("FlowDirection", new[] { "IFCDISTRIBUTIONPORT" }, new[] { "IFCDISTRIBUTIONPORT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SystemType", new[] { "IFCDISTRIBUTIONPORT" }, new[] { "IFCDISTRIBUTIONPORT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedControlElements", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("RelatingFlowElement", new[] { "IFCRELFLOWCONTROLELEMENTS" }, new[] { "IFCRELFLOWCONTROLELEMENTS" });
		destinationSchema.AddAttribute("SourceCRS", new[] { "IFCCOORDINATEOPERATION" }, new[] { "IFCCOORDINATEOPERATION", "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED", "IFCRIGIDOPERATION" });
		destinationSchema.AddAttribute("TargetCRS", new[] { "IFCCOORDINATEOPERATION" }, new[] { "IFCCOORDINATEOPERATION", "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED", "IFCRIGIDOPERATION" });
		destinationSchema.AddAttribute("GeodeticDatum", new[] { "IFCCOORDINATEREFERENCESYSTEM" }, new[] { "IFCCOORDINATEREFERENCESYSTEM", "IFCPROJECTEDCRS", "IFCGEOGRAPHICCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ContextIdentifier", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ContextType", new[] { "IFCREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CoordinateSpaceDimension", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Precision", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WorldCoordinateSystem", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TrueNorth", new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONCONTEXT", "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("ParentContext", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" });
		destinationSchema.AddAttribute("TargetScale", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedTargetView", new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "IFCGEOMETRICREPRESENTATIONSUBCONTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Eastings", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Northings", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OrthogonalHeight", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XAxisAbscissa", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("XAxisOrdinate", new[] { "IFCMAPCONVERSION" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Scale", new[] { "IFCMAPCONVERSION", "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCMAPCONVERSION", "IFCMAPCONVERSIONSCALED", "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Representations", new[] { "IFCPRODUCTREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION", "IFCPRODUCTREPRESENTATION", "IFCPRODUCTDEFINITIONSHAPE" });
		destinationSchema.AddAttribute("RepresentedMaterial", new[] { "IFCMATERIALDEFINITIONREPRESENTATION" }, new[] { "IFCMATERIALDEFINITIONREPRESENTATION" });
		destinationSchema.AddAttribute("VerticalDatum", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MapProjection", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MapZone", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MapUnit", new[] { "IFCPROJECTEDCRS" }, new[] { "IFCPROJECTEDCRS" });
		destinationSchema.AddAttribute("ContextOfItems", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("RepresentationIdentifier", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationType", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Items", new[] { "IFCREPRESENTATION" }, new[] { "IFCREPRESENTATION", "IFCSHAPEMODEL", "IFCSHAPEREPRESENTATION", "IFCSTYLEDREPRESENTATION", "IFCSTYLEMODEL", "IFCTOPOLOGYREPRESENTATION" });
		destinationSchema.AddAttribute("ShapeRepresentations", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("ProductDefinitional", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PartOfProductDefinitionShape", new[] { "IFCSHAPEASPECT" }, new[] { "IFCSHAPEASPECT" });
		destinationSchema.AddAttribute("PrimeMeridian", new[] { "IFCGEOGRAPHICCRS" }, new[] { "IFCGEOGRAPHICCRS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AngleUnit", new[] { "IFCGEOGRAPHICCRS" }, new[] { "IFCGEOGRAPHICCRS" });
		destinationSchema.AddAttribute("HeightUnit", new[] { "IFCGEOGRAPHICCRS" }, new[] { "IFCGEOGRAPHICCRS" });
		destinationSchema.AddAttribute("FactorX", new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FactorY", new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FactorZ", new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "IFCMAPCONVERSIONSCALED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstCoordinate", new[] { "IFCRIGIDOPERATION" }, new[] { "IFCRIGIDOPERATION" });
		destinationSchema.AddAttribute("SecondCoordinate", new[] { "IFCRIGIDOPERATION" }, new[] { "IFCRIGIDOPERATION" });
		destinationSchema.AddAttribute("Height", new[] { "IFCRIGIDOPERATION", "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "IFCRIGIDOPERATION", "IFCPIXELTEXTURE", "IFCRECTANGULARPYRAMID", "IFCRIGHTCIRCULARCONE", "IFCRIGHTCIRCULARCYLINDER" }, new[] { "xs:double", "xs:integer" });
		destinationSchema.AddAttribute("WellKnownText", new[] { "IFCWELLKNOWNTEXT" }, new[] { "IFCWELLKNOWNTEXT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CoordinateReferenceSystem", new[] { "IFCWELLKNOWNTEXT" }, new[] { "IFCWELLKNOWNTEXT" });
		destinationSchema.AddAttribute("Dimensions", new[] { "IFCNAMEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCSIUNIT" });
		destinationSchema.AddAttribute("UnitType", new[] { "IFCNAMEDUNIT", "IFCDERIVEDUNIT" }, new[] { "IFCCONTEXTDEPENDENTUNIT", "IFCNAMEDUNIT", "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET", "IFCDERIVEDUNIT", "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConversionFactor", new[] { "IFCCONVERSIONBASEDUNIT" }, new[] { "IFCCONVERSIONBASEDUNIT", "IFCCONVERSIONBASEDUNITWITHOFFSET" });
		destinationSchema.AddAttribute("ConversionOffset", new[] { "IFCCONVERSIONBASEDUNITWITHOFFSET" }, new[] { "IFCCONVERSIONBASEDUNITWITHOFFSET" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Elements", new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICSET" }, new[] { "IFCDERIVEDUNIT", "IFCGEOMETRICCURVESET", "IFCGEOMETRICSET" });
		destinationSchema.AddAttribute("UserDefinedType", new[] { "IFCDERIVEDUNIT" }, new[] { "IFCDERIVEDUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Exponent", new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "IFCDERIVEDUNITELEMENT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LengthExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MassExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TimeExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ElectricCurrentExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ThermodynamicTemperatureExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("AmountOfSubstanceExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LuminousIntensityExponent", new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "IFCDIMENSIONALEXPONENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ValueComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("UnitComponent", new[] { "IFCMEASUREWITHUNIT" }, new[] { "IFCMEASUREWITHUNIT" });
		destinationSchema.AddAttribute("Currency", new[] { "IFCMONETARYUNIT" }, new[] { "IFCMONETARYUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Prefix", new[] { "IFCSIUNIT" }, new[] { "IFCSIUNIT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Units", new[] { "IFCUNITASSIGNMENT" }, new[] { "IFCUNITASSIGNMENT" });
		destinationSchema.AddAttribute("Specification", new[] { "IFCPROPERTY", "IFCCLASSIFICATION" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTY", "IFCPROPERTYBOUNDEDVALUE", "IFCSIMPLEPROPERTY", "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYLISTVALUE", "IFCPROPERTYREFERENCEVALUE", "IFCPROPERTYSINGLEVALUE", "IFCPROPERTYTABLEVALUE", "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UsageName", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE", "IFCCOMPLEXPROPERTYTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYREFERENCEVALUE", "IFCCOMPLEXPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasProperties", new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" }, new[] { "IFCCOMPLEXPROPERTY", "IFCPROPERTYSET" });
		destinationSchema.AddAttribute("UpperBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("LowerBoundValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("SetPointValue", new[] { "IFCPROPERTYBOUNDEDVALUE" }, new[] { "IFCPROPERTYBOUNDEDVALUE" });
		destinationSchema.AddAttribute("DependingProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("DependantProperty", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("Expression", new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCPROPERTYDEPENDENCYRELATIONSHIP", "IFCPROPERTYTABLEVALUE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EnumerationValues", new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" }, new[] { "IFCPROPERTYENUMERATEDVALUE", "IFCPROPERTYENUMERATION" });
		destinationSchema.AddAttribute("EnumerationReference", new[] { "IFCPROPERTYENUMERATEDVALUE" }, new[] { "IFCPROPERTYENUMERATEDVALUE" });
		destinationSchema.AddAttribute("ListValues", new[] { "IFCPROPERTYLISTVALUE", "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE" }, new[] { "IFCPROPERTYLISTVALUE", "IFCIRREGULARTIMESERIESVALUE", "IFCTIMESERIESVALUE" });
		destinationSchema.AddAttribute("PropertyReference", new[] { "IFCPROPERTYREFERENCEVALUE" }, new[] { "IFCPROPERTYREFERENCEVALUE" });
		destinationSchema.AddAttribute("NominalValue", new[] { "IFCPROPERTYSINGLEVALUE" }, new[] { "IFCPROPERTYSINGLEVALUE" });
		destinationSchema.AddAttribute("DefiningValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedValues", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefiningUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("DefinedUnit", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" });
		destinationSchema.AddAttribute("CurveInterpolation", new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "IFCPROPERTYTABLEVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("NominalLength", new[] { "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "IFCMECHANICALFASTENER", "IFCMECHANICALFASTENERTYPE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthX", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthY", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("RotationalStiffnessByLengthZ", new[] { "IFCBOUNDARYEDGECONDITION" }, new[] { "IFCBOUNDARYEDGECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaX", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaY", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessByAreaZ", new[] { "IFCBOUNDARYFACECONDITION" }, new[] { "IFCBOUNDARYFACECONDITION" });
		destinationSchema.AddAttribute("TranslationalStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TranslationalStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TranslationalStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessX", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessY", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("RotationalStiffnessZ", new[] { "IFCBOUNDARYNODECONDITION" }, new[] { "IFCBOUNDARYNODECONDITION", "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("WarpingStiffness", new[] { "IFCBOUNDARYNODECONDITIONWARPING" }, new[] { "IFCBOUNDARYNODECONDITIONWARPING" });
		destinationSchema.AddAttribute("TensionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TensionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureX", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureY", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CompressionFailureZ", new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "IFCFAILURECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageX", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageY", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SlippageZ", new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "IFCSLIPPAGECONNECTIONCONDITION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Values", new[] { "IFCSTRUCTURALLOADCONFIGURATION", "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "IFCSTRUCTURALLOADCONFIGURATION", "IFCIRREGULARTIMESERIES", "IFCREGULARTIMESERIES" });
		destinationSchema.AddAttribute("Locations", new[] { "IFCSTRUCTURALLOADCONFIGURATION" }, new[] { "IFCSTRUCTURALLOADCONFIGURATION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearForceZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentX", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentY", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearMomentZ", new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "IFCSTRUCTURALLOADLINEARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceX", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceY", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PlanarForceZ", new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "IFCSTRUCTURALLOADPLANARFORCE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DisplacementZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRX", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRY", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RotationalDisplacementRZ", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENT", "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Distortion", new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ForceZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentX", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentY", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MomentZ", new[] { "IFCSTRUCTURALLOADSINGLEFORCE" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCE", "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WarpingMoment", new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "IFCSTRUCTURALLOADSINGLEFORCEWARPING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTConstant", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTY", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DeltaTZ", new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "IFCSTRUCTURALLOADTEMPERATURE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceReinforcement1", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceReinforcement2", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShearReinforcement", new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "IFCSURFACEREINFORCEMENTAREA" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RepeatS", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("RepeatT", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Mode", new[] { "IFCSURFACETEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextureTransform", new[] { "IFCSURFACETEXTURE" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("Parameter", new[] { "IFCSURFACETEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "IFCBLOBTEXTURE", "IFCSURFACETEXTURE", "IFCIMAGETEXTURE", "IFCPIXELTEXTURE", "IFCTEXTURECOORDINATEGENERATOR" }, new[] { "xs:string", "xs:double" });
		destinationSchema.AddAttribute("RasterFormat", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RasterCode", new[] { "IFCBLOBTEXTURE" }, new[] { "IFCBLOBTEXTURE" });
		destinationSchema.AddAttribute("Red", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Green", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Blue", new[] { "IFCCOLOURRGB" }, new[] { "IFCCOLOURRGB" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ColourList", new[] { "IFCCOLOURRGBLIST" }, new[] { "IFCCOLOURRGBLIST" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CurveFont", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("CurveWidth", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("CurveColour", new[] { "IFCCURVESTYLE" }, new[] { "IFCCURVESTYLE" });
		destinationSchema.AddAttribute("ModelOrDraughting", new[] { "IFCCURVESTYLE", "IFCFILLAREASTYLE", "IFCTEXTSTYLE" }, new[] { "IFCCURVESTYLE", "IFCFILLAREASTYLE", "IFCTEXTSTYLE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("PatternList", new[] { "IFCCURVESTYLEFONT" }, new[] { "IFCCURVESTYLEFONT" });
		destinationSchema.AddAttribute("CurveStyleFont", new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLEFONTANDSCALING" });
		destinationSchema.AddAttribute("CurveFontScaling", new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "IFCCURVESTYLEFONTANDSCALING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InvisibleSegmentLength", new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "IFCCURVESTYLEFONTPATTERN" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Location", new[] { "IFCEXTERNALREFERENCE", "IFCPLACEMENT", "IFCDOCUMENTINFORMATION", "IFCLIBRARYINFORMATION" }, new[] { "IFCEXTERNALLYDEFINEDHATCHSTYLE", "IFCEXTERNALREFERENCE", "IFCEXTERNALLYDEFINEDSURFACESTYLE", "IFCEXTERNALLYDEFINEDTEXTFONT", "IFCAXIS1PLACEMENT", "IFCPLACEMENT", "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCAXIS2PLACEMENTLINEAR", "IFCCLASSIFICATIONREFERENCE", "IFCDOCUMENTINFORMATION", "IFCDOCUMENTREFERENCE", "IFCLIBRARYINFORMATION", "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FillStyles", new[] { "IFCFILLAREASTYLE" }, new[] { "IFCFILLAREASTYLE" });
		destinationSchema.AddAttribute("HatchLineAppearance", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("StartOfNextHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PointOfReferenceHatchLine", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("PatternStart", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" });
		destinationSchema.AddAttribute("HatchLineAngle", new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "IFCFILLAREASTYLEHATCHING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TilingPattern", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("Tiles", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" });
		destinationSchema.AddAttribute("TilingScale", new[] { "IFCFILLAREASTYLETILES" }, new[] { "IFCFILLAREASTYLETILES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("URLReference", new[] { "IFCIMAGETEXTURE" }, new[] { "IFCIMAGETEXTURE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MappedTo", new[] { "IFCINDEXEDCOLOURMAP", "IFCINDEXEDTEXTUREMAP", "IFCTEXTUREMAP" }, new[] { "IFCINDEXEDCOLOURMAP", "IFCINDEXEDTEXTUREMAP", "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTUREMAP", "IFCINDEXEDPOLYGONALTEXTUREMAP" });
		destinationSchema.AddAttribute("Opacity", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Colours", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" });
		destinationSchema.AddAttribute("ColourIndex", new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "IFCINDEXEDCOLOURMAP" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Maps", new[] { "IFCTEXTURECOORDINATE" }, new[] { "IFCINDEXEDTEXTUREMAP", "IFCTEXTURECOORDINATE", "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTURECOORDINATEGENERATOR", "IFCTEXTUREMAP", "IFCINDEXEDPOLYGONALTEXTUREMAP" });
		destinationSchema.AddAttribute("TexCoords", new[] { "IFCINDEXEDTEXTUREMAP" }, new[] { "IFCINDEXEDTEXTUREMAP", "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCINDEXEDPOLYGONALTEXTUREMAP" });
		destinationSchema.AddAttribute("TexCoordIndex", new[] { "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTURECOORDINATEINDICES" }, new[] { "IFCINDEXEDTRIANGLETEXTUREMAP", "IFCTEXTURECOORDINATEINDICES", "IFCTEXTURECOORDINATEINDICESWITHVOIDS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Width", new[] { "IFCPIXELTEXTURE", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "IFCPIXELTEXTURE", "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF" }, new[] { "xs:integer", "xs:double" });
		destinationSchema.AddAttribute("ColourComponents", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Pixel", new[] { "IFCPIXELTEXTURE" }, new[] { "IFCPIXELTEXTURE" });
		destinationSchema.AddAttribute("Item", new[] { "IFCSTYLEDITEM" }, new[] { "IFCSTYLEDITEM" });
		destinationSchema.AddAttribute("Styles", new[] { "IFCSTYLEDITEM", "IFCSURFACESTYLE" }, new[] { "IFCSTYLEDITEM", "IFCSURFACESTYLE" });
		destinationSchema.AddAttribute("Side", new[] { "IFCSURFACESTYLE" }, new[] { "IFCSURFACESTYLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DiffuseTransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("DiffuseReflectionColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("TransmissionColour", new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLELIGHTING", "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceColour", new[] { "IFCSURFACESTYLELIGHTING" }, new[] { "IFCSURFACESTYLELIGHTING" });
		destinationSchema.AddAttribute("RefractionIndex", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DispersionFactor", new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "IFCSURFACESTYLEREFRACTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceColour", new[] { "IFCSURFACESTYLESHADING" }, new[] { "IFCSURFACESTYLERENDERING", "IFCSURFACESTYLESHADING" });
		destinationSchema.AddAttribute("Transparency", new[] { "IFCSURFACESTYLESHADING" }, new[] { "IFCSURFACESTYLERENDERING", "IFCSURFACESTYLESHADING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DiffuseColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectionColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularColour", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("SpecularHighlight", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" });
		destinationSchema.AddAttribute("ReflectanceMethod", new[] { "IFCSURFACESTYLERENDERING" }, new[] { "IFCSURFACESTYLERENDERING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Textures", new[] { "IFCSURFACESTYLEWITHTEXTURES" }, new[] { "IFCSURFACESTYLEWITHTEXTURES" });
		destinationSchema.AddAttribute("TextCharacterAppearance", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("TextFontStyle", new[] { "IFCTEXTSTYLE" }, new[] { "IFCTEXTSTYLE" });
		destinationSchema.AddAttribute("FontFamily", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontStyle", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontVariant", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontWeight", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FontSize", new[] { "IFCTEXTSTYLEFONTMODEL" }, new[] { "IFCTEXTSTYLEFONTMODEL" });
		destinationSchema.AddAttribute("Colour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("BackgroundColour", new[] { "IFCTEXTSTYLEFORDEFINEDFONT" }, new[] { "IFCTEXTSTYLEFORDEFINEDFONT" });
		destinationSchema.AddAttribute("TextIndent", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextAlign", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TextDecoration", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LetterSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("WordSpacing", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("TextTransform", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LineHeight", new[] { "IFCTEXTSTYLETEXTMODEL" }, new[] { "IFCTEXTSTYLETEXTMODEL" });
		destinationSchema.AddAttribute("Vertices", new[] { "IFCTEXTUREMAP" }, new[] { "IFCTEXTUREMAP" });
		destinationSchema.AddAttribute("Coordinates", new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT", "IFCTESSELLATEDFACESET" }, new[] { "IFCTEXTUREVERTEX", "IFCCARTESIANPOINT", "IFCPOLYGONALFACESET", "IFCTESSELLATEDFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TexCoordsList", new[] { "IFCTEXTUREVERTEXLIST" }, new[] { "IFCTEXTUREVERTEXLIST" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TexCoordIndices", new[] { "IFCINDEXEDPOLYGONALTEXTUREMAP" }, new[] { "IFCINDEXEDPOLYGONALTEXTUREMAP" });
		destinationSchema.AddAttribute("TexCoordsOf", new[] { "IFCTEXTURECOORDINATEINDICES" }, new[] { "IFCTEXTURECOORDINATEINDICES", "IFCTEXTURECOORDINATEINDICESWITHVOIDS" });
		destinationSchema.AddAttribute("InnerTexCoordIndices", new[] { "IFCTEXTURECOORDINATEINDICESWITHVOIDS" }, new[] { "IFCTEXTURECOORDINATEINDICESWITHVOIDS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("OverallHeight", new[] { "IFCDOOR", "IFCWINDOW" }, new[] { "IFCDOOR", "IFCWINDOW" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OverallWidth", new[] { "IFCDOOR", "IFCWINDOW", "IFCISHAPEPROFILEDEF" }, new[] { "IFCDOOR", "IFCWINDOW", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OperationType", new[] { "IFCDOOR", "IFCDOORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCDOOR", "IFCDOORTYPE", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedOperationType", new[] { "IFCDOOR", "IFCDOORTYPE" }, new[] { "IFCDOOR", "IFCDOORTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParameterTakesPrecedence", new[] { "IFCDOORTYPE", "IFCWINDOWTYPE" }, new[] { "IFCDOORTYPE", "IFCWINDOWTYPE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ConnectionGeometry", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("RelatedElement", new[] { "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS", "IFCRELCONNECTSELEMENTS", "IFCRELCONNECTSPORTTOELEMENT", "IFCRELCONNECTSWITHREALIZINGELEMENTS", "IFCRELINTERFERESELEMENTS" });
		destinationSchema.AddAttribute("RelatingPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedPriorities", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RelatedConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConnectionType", new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "IFCRELCONNECTSPATHELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingBuildingElement", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RelatedCoverings", new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" }, new[] { "IFCRELCOVERSBLDGELEMENTS", "IFCRELCOVERSSPACES" });
		destinationSchema.AddAttribute("RelatingSpace", new[] { "IFCRELCOVERSSPACES", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELCOVERSSPACES", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("NumberOfRisers", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("NumberOfTreads", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RiserHeight", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TreadLength", new[] { "IFCSTAIRFLIGHT" }, new[] { "IFCSTAIRFLIGHT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PartitioningType", new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedPartitioningType", new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "IFCWINDOW", "IFCWINDOWTYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OriginalValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("CurrentValue", new[] { "IFCASSET", "IFCINVENTORY" }, new[] { "IFCASSET", "IFCINVENTORY" });
		destinationSchema.AddAttribute("TotalReplacementCost", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("Owner", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("User", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("ResponsiblePerson", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("IncorporationDate", new[] { "IFCASSET" }, new[] { "IFCASSET" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("DepreciatedValue", new[] { "IFCASSET" }, new[] { "IFCASSET" });
		destinationSchema.AddAttribute("AssemblyPlace", new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "IFCFURNITURETYPE", "IFCELEMENTASSEMBLY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Jurisdiction", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("ResponsiblePersons", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" });
		destinationSchema.AddAttribute("LastUpdateDate", new[] { "IFCINVENTORY" }, new[] { "IFCINVENTORY" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("TheActor", new[] { "IFCACTOR" }, new[] { "IFCOCCUPANT", "IFCACTOR" });
		destinationSchema.AddAttribute("ProfileType", new[] { "IFCPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ProfileName", new[] { "IFCPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCPROFILEDEF", "IFCARBITRARYOPENPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS", "IFCASYMMETRICISHAPEPROFILEDEF", "IFCPARAMETERIZEDPROFILEDEF", "IFCCENTERLINEPROFILEDEF", "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCIRCLEPROFILEDEF", "IFCCOMPOSITEPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCELLIPSEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OuterCurve", new[] { "IFCARBITRARYCLOSEDPROFILEDEF" }, new[] { "IFCARBITRARYCLOSEDPROFILEDEF", "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("Curve", new[] { "IFCARBITRARYOPENPROFILEDEF" }, new[] { "IFCARBITRARYOPENPROFILEDEF", "IFCCENTERLINEPROFILEDEF" });
		destinationSchema.AddAttribute("InnerCurves", new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" }, new[] { "IFCARBITRARYPROFILEDEFWITHVOIDS" });
		destinationSchema.AddAttribute("BottomFlangeWidth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OverallDepth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF", "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeFilletRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeWidth", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeThickness", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeFilletRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeEdgeRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomFlangeSlope", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeEdgeRadius", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopFlangeSlope", new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "IFCASYMMETRICISHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WallThickness", new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCCIRCLEHOLLOWPROFILEDEF", "IFCCSHAPEPROFILEDEF", "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Profiles", new[] { "IFCCOMPOSITEPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF" });
		destinationSchema.AddAttribute("Label", new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF" }, new[] { "IFCCOMPOSITEPROFILEDEF", "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Depth", new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCCSHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Girth", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InternalFilletRadius", new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "IFCCSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ParentProfile", new[] { "IFCDERIVEDPROFILEDEF" }, new[] { "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF" });
		destinationSchema.AddAttribute("Operator", new[] { "IFCDERIVEDPROFILEDEF", "IFCBOOLEANRESULT" }, new[] { "IFCDERIVEDPROFILEDEF", "IFCMIRROREDPROFILEDEF", "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SemiAxis1", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SemiAxis2", new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "IFCELLIPSEPROFILEDEF", "IFCELLIPSE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeThickness", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FilletRadius", new[] { "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "IFCISHAPEPROFILEDEF", "IFCLSHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeEdgeRadius", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeSlope", new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "IFCISHAPEPROFILEDEF", "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EdgeRadius", new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LegSlope", new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "IFCLSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ProfileDefinition", new[] { "IFCPROFILEPROPERTIES" }, new[] { "IFCPROFILEPROPERTIES" });
		destinationSchema.AddAttribute("XDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YDim", new[] { "IFCRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF", "IFCRECTANGLEPROFILEDEF", "IFCROUNDEDRECTANGLEPROFILEDEF", "IFCTRAPEZIUMPROFILEDEF", "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("InnerFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OuterFilletRadius", new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "IFCRECTANGLEHOLLOWPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TotalCrossSectionArea", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EffectiveDepth", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("NominalBarDiameter", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BarCount", new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "IFCREINFORCEMENTBARPROPERTIES" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("RoundingRadius", new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "IFCROUNDEDRECTANGLEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SectionType", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("StartProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("EndProfile", new[] { "IFCSECTIONPROPERTIES" }, new[] { "IFCSECTIONPROPERTIES" });
		destinationSchema.AddAttribute("LongitudinalStartPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LongitudinalEndPosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransversePosition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReinforcementRole", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SectionDefinition", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("CrossSectionReinforcementDefinitions", new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" }, new[] { "IFCSECTIONREINFORCEMENTPROPERTIES" });
		destinationSchema.AddAttribute("BottomXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXDim", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TopXOffset", new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "IFCTRAPEZIUMPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FlangeWidth", new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF", "IFCUSHAPEPROFILEDEF", "IFCZSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebEdgeRadius", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WebSlope", new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "IFCTSHAPEPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HorizontalWidths", new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Widths", new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Slopes", new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Tags", new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OffsetPoint", new[] { "IFCOPENCROSSPROFILEDEF" }, new[] { "IFCOPENCROSSPROFILEDEF" });
		destinationSchema.AddAttribute("ApplicationDeveloper", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" });
		destinationSchema.AddAttribute("Version", new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "IFCAPPLICATION", "IFCLIBRARYINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationFullName", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ApplicationIdentifier", new[] { "IFCAPPLICATION" }, new[] { "IFCAPPLICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("OwningUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("OwningApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("State", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ChangeAction", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LastModifiedDate", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("LastModifyingUser", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("LastModifyingApplication", new[] { "IFCOWNERHISTORY" }, new[] { "IFCOWNERHISTORY" });
		destinationSchema.AddAttribute("Rows", new[] { "IFCTABLE" }, new[] { "IFCTABLE" });
		destinationSchema.AddAttribute("Columns", new[] { "IFCTABLE" }, new[] { "IFCTABLE" });
		destinationSchema.AddAttribute("ReferencePath", new[] { "IFCTABLECOLUMN", "IFCMETRIC" }, new[] { "IFCTABLECOLUMN", "IFCMETRIC" });
		destinationSchema.AddAttribute("RowCells", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" });
		destinationSchema.AddAttribute("IsHeading", new[] { "IFCTABLEROW" }, new[] { "IFCTABLEROW" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("OuterBoundary", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("InnerBoundaries", new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" }, new[] { "IFCANNOTATIONFILLAREA", "IFCCURVEBOUNDEDPLANE" });
		destinationSchema.AddAttribute("SizeInX", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SizeInY", new[] { "IFCPLANAREXTENT" }, new[] { "IFCPLANARBOX", "IFCPLANAREXTENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Placement", new[] { "IFCPLANARBOX", "IFCTEXTLITERAL", "IFCCURVESEGMENT" }, new[] { "IFCPLANARBOX", "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT", "IFCCURVESEGMENT" });
		destinationSchema.AddAttribute("Literal", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Path", new[] { "IFCTEXTLITERAL" }, new[] { "IFCTEXTLITERAL", "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Extent", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" });
		destinationSchema.AddAttribute("BoxAlignment", new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "IFCTEXTLITERALWITHEXTENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Bounds", new[] { "IFCFACE" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE", "IFCFACE" });
		destinationSchema.AddAttribute("FaceSurface", new[] { "IFCFACESURFACE" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE" });
		destinationSchema.AddAttribute("SameSense", new[] { "IFCFACESURFACE", "IFCEDGECURVE", "IFCCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "IFCADVANCEDFACE", "IFCFACESURFACE", "IFCEDGECURVE", "IFCCOMPOSITECURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT", "IFCGRIDAXIS" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("CfsFaces", new[] { "IFCCONNECTEDFACESET" }, new[] { "IFCCLOSEDSHELL", "IFCCONNECTEDFACESET", "IFCOPENSHELL" });
		destinationSchema.AddAttribute("EdgeStart", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeEnd", new[] { "IFCEDGE" }, new[] { "IFCEDGE", "IFCEDGECURVE", "IFCORIENTEDEDGE", "IFCSUBEDGE" });
		destinationSchema.AddAttribute("EdgeGeometry", new[] { "IFCEDGECURVE" }, new[] { "IFCEDGECURVE" });
		destinationSchema.AddAttribute("EdgeList", new[] { "IFCEDGELOOP", "IFCPATH" }, new[] { "IFCEDGELOOP", "IFCPATH" });
		destinationSchema.AddAttribute("Bound", new[] { "IFCFACEBOUND" }, new[] { "IFCFACEBOUND", "IFCFACEOUTERBOUND" });
		destinationSchema.AddAttribute("EdgeElement", new[] { "IFCORIENTEDEDGE" }, new[] { "IFCORIENTEDEDGE" });
		destinationSchema.AddAttribute("Polygon", new[] { "IFCPOLYLOOP" }, new[] { "IFCPOLYLOOP" });
		destinationSchema.AddAttribute("ParentEdge", new[] { "IFCSUBEDGE" }, new[] { "IFCSUBEDGE" });
		destinationSchema.AddAttribute("LoopVertex", new[] { "IFCVERTEXLOOP" }, new[] { "IFCVERTEXLOOP" });
		destinationSchema.AddAttribute("VertexGeometry", new[] { "IFCVERTEXPOINT" }, new[] { "IFCVERTEXPOINT" });
		destinationSchema.AddAttribute("TemplateType", new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE", "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("HasPropertyTemplates", new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE" }, new[] { "IFCCOMPLEXPROPERTYTEMPLATE", "IFCPROPERTYSETTEMPLATE" });
		destinationSchema.AddAttribute("Phase", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RepresentationContexts", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" });
		destinationSchema.AddAttribute("UnitsInContext", new[] { "IFCCONTEXT" }, new[] { "IFCCONTEXT", "IFCPROJECT", "IFCPROJECTLIBRARY" });
		destinationSchema.AddAttribute("ApplicableEntity", new[] { "IFCPROPERTYSETTEMPLATE" }, new[] { "IFCPROPERTYSETTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingObject", new[] { "IFCRELAGGREGATES", "IFCRELDEFINESBYOBJECT", "IFCRELNESTS" }, new[] { "IFCRELAGGREGATES", "IFCRELDEFINESBYOBJECT", "IFCRELNESTS" });
		destinationSchema.AddAttribute("RelatedObjects", new[] { "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSOCIATES", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS" }, new[] { "IFCRELAGGREGATES", "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE", "IFCRELASSOCIATES", "IFCRELASSOCIATESCLASSIFICATION", "IFCRELASSOCIATESDOCUMENT", "IFCRELASSOCIATESLIBRARY", "IFCRELDEFINESBYOBJECT", "IFCRELDEFINESBYPROPERTIES", "IFCRELDEFINESBYTYPE", "IFCRELNESTS", "IFCRELASSOCIATESMATERIAL", "IFCRELASSOCIATESPROFILEDEF", "IFCRELASSOCIATESAPPROVAL", "IFCRELASSOCIATESCONSTRAINT" });
		destinationSchema.AddAttribute("RelatedObjectsType", new[] { "IFCRELASSIGNS" }, new[] { "IFCRELASSIGNS", "IFCRELASSIGNSTOACTOR", "IFCRELASSIGNSTOCONTROL", "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR", "IFCRELASSIGNSTOPROCESS", "IFCRELASSIGNSTOPRODUCT", "IFCRELASSIGNSTORESOURCE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("RelatingActor", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("ActingRole", new[] { "IFCRELASSIGNSTOACTOR" }, new[] { "IFCRELASSIGNSTOACTOR" });
		destinationSchema.AddAttribute("RelatingControl", new[] { "IFCRELASSIGNSTOCONTROL" }, new[] { "IFCRELASSIGNSTOCONTROL" });
		destinationSchema.AddAttribute("RelatingGroup", new[] { "IFCRELASSIGNSTOGROUP" }, new[] { "IFCRELASSIGNSTOGROUP", "IFCRELASSIGNSTOGROUPBYFACTOR" });
		destinationSchema.AddAttribute("Factor", new[] { "IFCRELASSIGNSTOGROUPBYFACTOR" }, new[] { "IFCRELASSIGNSTOGROUPBYFACTOR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuantityInProcess", new[] { "IFCRELASSIGNSTOPROCESS" }, new[] { "IFCRELASSIGNSTOPROCESS" });
		destinationSchema.AddAttribute("RelatingProduct", new[] { "IFCRELASSIGNSTOPRODUCT" }, new[] { "IFCRELASSIGNSTOPRODUCT" });
		destinationSchema.AddAttribute("RelatingResource", new[] { "IFCRELASSIGNSTORESOURCE" }, new[] { "IFCRELASSIGNSTORESOURCE" });
		destinationSchema.AddAttribute("RelatingClassification", new[] { "IFCRELASSOCIATESCLASSIFICATION" }, new[] { "IFCRELASSOCIATESCLASSIFICATION" });
		destinationSchema.AddAttribute("RelatingDocument", new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCRELASSOCIATESDOCUMENT", "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatingLibrary", new[] { "IFCRELASSOCIATESLIBRARY" }, new[] { "IFCRELASSOCIATESLIBRARY" });
		destinationSchema.AddAttribute("RelatingContext", new[] { "IFCRELDECLARES" }, new[] { "IFCRELDECLARES" });
		destinationSchema.AddAttribute("RelatedDefinitions", new[] { "IFCRELDECLARES" }, new[] { "IFCRELDECLARES" });
		destinationSchema.AddAttribute("RelatingPropertyDefinition", new[] { "IFCRELDEFINESBYPROPERTIES" }, new[] { "IFCRELDEFINESBYPROPERTIES" });
		destinationSchema.AddAttribute("RelatedPropertySets", new[] { "IFCRELDEFINESBYTEMPLATE" }, new[] { "IFCRELDEFINESBYTEMPLATE" });
		destinationSchema.AddAttribute("RelatingTemplate", new[] { "IFCRELDEFINESBYTEMPLATE" }, new[] { "IFCRELDEFINESBYTEMPLATE" });
		destinationSchema.AddAttribute("RelatingType", new[] { "IFCRELDEFINESBYTYPE" }, new[] { "IFCRELDEFINESBYTYPE" });
		destinationSchema.AddAttribute("PrimaryMeasureType", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SecondaryMeasureType", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Enumerators", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("PrimaryUnit", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("SecondaryUnit", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" });
		destinationSchema.AddAttribute("AccessState", new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "IFCSIMPLEPROPERTYTEMPLATE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ResourceType", new[] { "IFCTYPERESOURCE" }, new[] { "IFCTYPERESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCETYPE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CostValues", new[] { "IFCCOSTITEM" }, new[] { "IFCCOSTITEM" });
		destinationSchema.AddAttribute("CostQuantities", new[] { "IFCCOSTITEM" }, new[] { "IFCCOSTITEM" });
		destinationSchema.AddAttribute("SubmittedOn", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("UpdateDate", new[] { "IFCCOSTSCHEDULE" }, new[] { "IFCCOSTSCHEDULE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ElevationOfRefHeight", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ElevationOfTerrain", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BuildingAddress", new[] { "IFCBUILDING" }, new[] { "IFCBUILDING" });
		destinationSchema.AddAttribute("Elevation", new[] { "IFCBUILDINGSTOREY" }, new[] { "IFCBUILDINGSTOREY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MethodOfMeasurement", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Quantities", new[] { "IFCELEMENTQUANTITY" }, new[] { "IFCELEMENTQUANTITY" });
		destinationSchema.AddAttribute("UAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("VAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("WAxes", new[] { "IFCGRID" }, new[] { "IFCGRID" });
		destinationSchema.AddAttribute("RelatingPort", new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" }, new[] { "IFCRELCONNECTSPORTS", "IFCRELCONNECTSPORTTOELEMENT" });
		destinationSchema.AddAttribute("RelatedPort", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElement", new[] { "IFCRELCONNECTSPORTS" }, new[] { "IFCRELCONNECTSPORTS" });
		destinationSchema.AddAttribute("RealizingElements", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" });
		destinationSchema.AddAttribute("ConnectionType", new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "IFCRELCONNECTSWITHREALIZINGELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedElements", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingStructure", new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" }, new[] { "IFCRELCONTAINEDINSPATIALSTRUCTURE", "IFCRELREFERENCEDINSPATIALSTRUCTURE" });
		destinationSchema.AddAttribute("RelatingOpeningElement", new[] { "IFCRELFILLSELEMENT" }, new[] { "IFCRELFILLSELEMENT" });
		destinationSchema.AddAttribute("RelatedBuildingElement", new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELFILLSELEMENT", "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("InterferenceGeometry", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" });
		destinationSchema.AddAttribute("InterferenceType", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ImpliedOrder", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InterferenceSpace", new[] { "IFCRELINTERFERESELEMENTS" }, new[] { "IFCRELINTERFERESELEMENTS" });
		destinationSchema.AddAttribute("RelatedFeatureElement", new[] { "IFCRELPROJECTSELEMENT" }, new[] { "IFCRELPROJECTSELEMENT" });
		destinationSchema.AddAttribute("RelatingSystem", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("RelatedBuildings", new[] { "IFCRELSERVICESBUILDINGS" }, new[] { "IFCRELSERVICESBUILDINGS" });
		destinationSchema.AddAttribute("PhysicalOrVirtualBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InternalOrExternalBoundary", new[] { "IFCRELSPACEBOUNDARY" }, new[] { "IFCRELSPACEBOUNDARY", "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParentBoundary", new[] { "IFCRELSPACEBOUNDARY1STLEVEL" }, new[] { "IFCRELSPACEBOUNDARY1STLEVEL", "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("CorrespondingBoundary", new[] { "IFCRELSPACEBOUNDARY2NDLEVEL" }, new[] { "IFCRELSPACEBOUNDARY2NDLEVEL" });
		destinationSchema.AddAttribute("RelatedOpeningElement", new[] { "IFCRELVOIDSELEMENT" }, new[] { "IFCRELVOIDSELEMENT" });
		destinationSchema.AddAttribute("RefLatitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefLongitude", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("RefElevation", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LandTitleNumber", new[] { "IFCSITE" }, new[] { "IFCSITE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SiteAddress", new[] { "IFCSITE" }, new[] { "IFCSITE" });
		destinationSchema.AddAttribute("ElevationWithFlooring", new[] { "IFCSPACE" }, new[] { "IFCSPACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RailHeadDistance", new[] { "IFCALIGNMENTCANT" }, new[] { "IFCALIGNMENTCANT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DesignParameters", new[] { "IFCALIGNMENTSEGMENT" }, new[] { "IFCALIGNMENTSEGMENT" });
		destinationSchema.AddAttribute("RelatedSurfaceFeatures", new[] { "IFCRELADHERESTOELEMENT" }, new[] { "IFCRELADHERESTOELEMENT" });
		destinationSchema.AddAttribute("RelatingProfileDef", new[] { "IFCRELASSOCIATESPROFILEDEF" }, new[] { "IFCRELASSOCIATESPROFILEDEF" });
		destinationSchema.AddAttribute("RelatingPositioningElement", new[] { "IFCRELPOSITIONS" }, new[] { "IFCRELPOSITIONS" });
		destinationSchema.AddAttribute("RelatedProducts", new[] { "IFCRELPOSITIONS" }, new[] { "IFCRELPOSITIONS" });
		destinationSchema.AddAttribute("RefDirection", new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCAXIS2PLACEMENTLINEAR", "IFCOFFSETCURVE3D" }, new[] { "IFCAXIS2PLACEMENT2D", "IFCAXIS2PLACEMENT3D", "IFCAXIS2PLACEMENTLINEAR", "IFCOFFSETCURVE3D" });
		destinationSchema.AddAttribute("Segments", new[] { "IFCCOMPOSITECURVE", "IFCINDEXEDPOLYCURVE" }, new[] { "IFCBOUNDARYCURVE", "IFCCOMPOSITECURVEONSURFACE", "IFCCOMPOSITECURVE", "IFCGRADIENTCURVE", "IFCINDEXEDPOLYCURVE", "IFCOUTERBOUNDARYCURVE", "IFCSEGMENTEDREFERENCECURVE" });
		destinationSchema.AddAttribute("SelfIntersect", new[] { "IFCCOMPOSITECURVE", "IFCBSPLINECURVE", "IFCBSPLINESURFACE", "IFCINDEXEDPOLYCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "IFCBOUNDARYCURVE", "IFCCOMPOSITECURVEONSURFACE", "IFCCOMPOSITECURVE", "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCGRADIENTCURVE", "IFCINDEXEDPOLYCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCOUTERBOUNDARYCURVE", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS", "IFCSEGMENTEDREFERENCECURVE" }, new[] { "xs:string", "xs:boolean" });
		destinationSchema.AddAttribute("Degree", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("ControlPointsList", new[] { "IFCBSPLINECURVE", "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" });
		destinationSchema.AddAttribute("CurveForm", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ClosedCurve", new[] { "IFCBSPLINECURVE" }, new[] { "IFCBSPLINECURVE", "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("KnotMultiplicities", new[] { "IFCBSPLINECURVEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Knots", new[] { "IFCBSPLINECURVEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("KnotSpec", new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINECURVEWITHKNOTS", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UDegree", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("VDegree", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("SurfaceForm", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UClosed", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("VClosed", new[] { "IFCBSPLINESURFACE" }, new[] { "IFCBSPLINESURFACE", "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UMultiplicities", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("VMultiplicities", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("UKnots", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("VKnots", new[] { "IFCBSPLINESURFACEWITHKNOTS" }, new[] { "IFCBSPLINESURFACEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Axis1", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Axis2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("LocalOrigin", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR", "IFCCARTESIANTRANSFORMATIONOPERATOR2D", "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale2", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Axis3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3D", "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" });
		destinationSchema.AddAttribute("Scale3", new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ClothoidConstant", new[] { "IFCCLOTHOID" }, new[] { "IFCCLOTHOID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Transition", new[] { "IFCSEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT", "IFCSEGMENT", "IFCCURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ParentCurve", new[] { "IFCCOMPOSITECURVESEGMENT", "IFCCURVESEGMENT" }, new[] { "IFCCOMPOSITECURVESEGMENT", "IFCCURVESEGMENT", "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" });
		destinationSchema.AddAttribute("CosineTerm", new[] { "IFCCOSINESPIRAL" }, new[] { "IFCCOSINESPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ConstantTerm", new[] { "IFCCOSINESPIRAL", "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCSINESPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "IFCCOSINESPIRAL", "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCSINESPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BasisSurface", new[] { "IFCCURVEBOUNDEDPLANE", "IFCCURVEBOUNDEDSURFACE", "IFCPCURVE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCCURVEBOUNDEDPLANE", "IFCCURVEBOUNDEDSURFACE", "IFCPCURVE", "IFCPOINTONSURFACE", "IFCRECTANGULARTRIMMEDSURFACE" });
		destinationSchema.AddAttribute("Boundaries", new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "IFCCURVEBOUNDEDSURFACE" });
		destinationSchema.AddAttribute("ImplicitOuter", new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "IFCCURVEBOUNDEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("SegmentStart", new[] { "IFCCURVESEGMENT" }, new[] { "IFCCURVESEGMENT" });
		destinationSchema.AddAttribute("SegmentLength", new[] { "IFCCURVESEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCCURVESEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("DirectionRatios", new[] { "IFCDIRECTION" }, new[] { "IFCDIRECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseCurve", new[] { "IFCGRADIENTCURVE", "IFCSEGMENTEDREFERENCECURVE" }, new[] { "IFCGRADIENTCURVE", "IFCSEGMENTEDREFERENCECURVE" });
		destinationSchema.AddAttribute("EndPoint", new[] { "IFCGRADIENTCURVE", "IFCSEGMENTEDREFERENCECURVE" }, new[] { "IFCGRADIENTCURVE", "IFCSEGMENTEDREFERENCECURVE" });
		destinationSchema.AddAttribute("Points", new[] { "IFCINDEXEDPOLYCURVE", "IFCPOLYLINE" }, new[] { "IFCINDEXEDPOLYCURVE", "IFCPOLYLINE" });
		destinationSchema.AddAttribute("Curve3D", new[] { "IFCSURFACECURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE" });
		destinationSchema.AddAttribute("AssociatedGeometry", new[] { "IFCSURFACECURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE" });
		destinationSchema.AddAttribute("MasterRepresentation", new[] { "IFCSURFACECURVE", "IFCTRIMMEDCURVE" }, new[] { "IFCINTERSECTIONCURVE", "IFCSURFACECURVE", "IFCSEAMCURVE", "IFCTRIMMEDCURVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Pnt", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("Dir", new[] { "IFCLINE" }, new[] { "IFCLINE" });
		destinationSchema.AddAttribute("MappingSource", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("MappingTarget", new[] { "IFCMAPPEDITEM" }, new[] { "IFCMAPPEDITEM" });
		destinationSchema.AddAttribute("BasisCurve", new[] { "IFCOFFSETCURVE", "IFCPOINTBYDISTANCEEXPRESSION", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" }, new[] { "IFCOFFSETCURVE", "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D", "IFCOFFSETCURVEBYDISTANCES", "IFCPOINTBYDISTANCEEXPRESSION", "IFCPOINTONCURVE", "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Distance", new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "IFCOFFSETCURVE2D", "IFCOFFSETCURVE3D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ReferenceCurve", new[] { "IFCPCURVE" }, new[] { "IFCPCURVE" });
		destinationSchema.AddAttribute("DistanceAlong", new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "IFCPOINTBYDISTANCEEXPRESSION" });
		destinationSchema.AddAttribute("OffsetLateral", new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetVertical", new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("OffsetLongitudinal", new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "IFCPOINTBYDISTANCEEXPRESSION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameter", new[] { "IFCPOINTONCURVE" }, new[] { "IFCPOINTONCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterU", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PointParameterV", new[] { "IFCPOINTONSURFACE" }, new[] { "IFCPOINTONSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CoefficientsX", new[] { "IFCPOLYNOMIALCURVE" }, new[] { "IFCPOLYNOMIALCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CoefficientsY", new[] { "IFCPOLYNOMIALCURVE" }, new[] { "IFCPOLYNOMIALCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CoefficientsZ", new[] { "IFCPOLYNOMIALCURVE" }, new[] { "IFCPOLYNOMIALCURVE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("WeightsData", new[] { "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "IFCRATIONALBSPLINECURVEWITHKNOTS", "IFCRATIONALBSPLINESURFACEWITHKNOTS" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V1", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("U2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("V2", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Usense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Vsense", new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "IFCRECTANGULARTRIMMEDSURFACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ParamLength", new[] { "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MappingOrigin", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("MappedRepresentation", new[] { "IFCREPRESENTATIONMAP" }, new[] { "IFCREPRESENTATIONMAP" });
		destinationSchema.AddAttribute("QuadraticTerm", new[] { "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LinearTerm", new[] { "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCSINESPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSECONDORDERPOLYNOMIALSPIRAL", "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCSINESPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SepticTerm", new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SexticTerm", new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuinticTerm", new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("QuarticTerm", new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CubicTerm", new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "IFCSEVENTHORDERPOLYNOMIALSPIRAL", "IFCTHIRDORDERPOLYNOMIALSPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SineTerm", new[] { "IFCSINESPIRAL" }, new[] { "IFCSINESPIRAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SweptCurve", new[] { "IFCSWEPTSURFACE" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCSWEPTSURFACE", "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("ExtrudedDirection", new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID" }, new[] { "IFCSURFACEOFLINEAREXTRUSION", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("AxisPosition", new[] { "IFCSURFACEOFREVOLUTION" }, new[] { "IFCSURFACEOFREVOLUTION" });
		destinationSchema.AddAttribute("MajorRadius", new[] { "IFCTOROIDALSURFACE" }, new[] { "IFCTOROIDALSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MinorRadius", new[] { "IFCTOROIDALSURFACE" }, new[] { "IFCTOROIDALSURFACE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Trim1", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("Trim2", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" });
		destinationSchema.AddAttribute("SenseAgreement", new[] { "IFCTRIMMEDCURVE" }, new[] { "IFCTRIMMEDCURVE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Magnitude", new[] { "IFCVECTOR" }, new[] { "IFCVECTOR" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Outer", new[] { "IFCMANIFOLDSOLIDBREP" }, new[] { "IFCADVANCEDBREP", "IFCMANIFOLDSOLIDBREP", "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREP", "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("Voids", new[] { "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREPWITHVOIDS" }, new[] { "IFCADVANCEDBREPWITHVOIDS", "IFCFACETEDBREPWITHVOIDS" });
		destinationSchema.AddAttribute("XLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("YLength", new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "IFCBLOCK", "IFCRECTANGULARPYRAMID" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ZLength", new[] { "IFCBLOCK" }, new[] { "IFCBLOCK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("SecondOperand", new[] { "IFCBOOLEANRESULT" }, new[] { "IFCBOOLEANCLIPPINGRESULT", "IFCBOOLEANRESULT" });
		destinationSchema.AddAttribute("Corner", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" });
		destinationSchema.AddAttribute("ZDim", new[] { "IFCBOUNDINGBOX" }, new[] { "IFCBOUNDINGBOX" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BaseSurface", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("AgreementFlag", new[] { "IFCHALFSPACESOLID" }, new[] { "IFCBOXEDHALFSPACE", "IFCHALFSPACESOLID", "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Enclosure", new[] { "IFCBOXEDHALFSPACE" }, new[] { "IFCBOXEDHALFSPACE" });
		destinationSchema.AddAttribute("CoordList", new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TagList", new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "IFCCARTESIANPOINTLIST2D", "IFCCARTESIANPOINTLIST3D" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TreeRootExpression", new[] { "IFCCSGSOLID" }, new[] { "IFCCSGSOLID" });
		destinationSchema.AddAttribute("SweptArea", new[] { "IFCSWEPTAREASOLID" }, new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCSWEPTAREASOLID", "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCEXTRUDEDAREASOLID", "IFCEXTRUDEDAREASOLIDTAPERED", "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED", "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("Directrix", new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCSECTIONEDSOLID", "IFCSECTIONEDSURFACE", "IFCSWEPTDISKSOLID" }, new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSECTIONEDSOLID", "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSURFACE", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" });
		destinationSchema.AddAttribute("StartParam", new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndParam", new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID" }, new[] { "IFCDIRECTRIXCURVESWEPTAREASOLID", "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID", "IFCSURFACECURVESWEPTAREASOLID", "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FixedReference", new[] { "IFCFIXEDREFERENCESWEPTAREASOLID" }, new[] { "IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID", "IFCFIXEDREFERENCESWEPTAREASOLID" });
		destinationSchema.AddAttribute("EndSweptArea", new[] { "IFCEXTRUDEDAREASOLIDTAPERED", "IFCREVOLVEDAREASOLIDTAPERED" }, new[] { "IFCEXTRUDEDAREASOLIDTAPERED", "IFCREVOLVEDAREASOLIDTAPERED" });
		destinationSchema.AddAttribute("FbsmFaces", new[] { "IFCFACEBASEDSURFACEMODEL" }, new[] { "IFCFACEBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("CoordIndex", new[] { "IFCINDEXEDPOLYGONALFACE", "IFCTRIANGULATEDFACESET" }, new[] { "IFCINDEXEDPOLYGONALFACE", "IFCINDEXEDPOLYGONALFACEWITHVOIDS", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("InnerCoordIndices", new[] { "IFCINDEXEDPOLYGONALFACEWITHVOIDS" }, new[] { "IFCINDEXEDPOLYGONALFACEWITHVOIDS" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("PolygonalBoundary", new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" }, new[] { "IFCPOLYGONALBOUNDEDHALFSPACE" });
		destinationSchema.AddAttribute("Closed", new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET" }, new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("Faces", new[] { "IFCPOLYGONALFACESET" }, new[] { "IFCPOLYGONALFACESET" });
		destinationSchema.AddAttribute("PnIndex", new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET" }, new[] { "IFCPOLYGONALFACESET", "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Angle", new[] { "IFCREVOLVEDAREASOLID" }, new[] { "IFCREVOLVEDAREASOLID", "IFCREVOLVEDAREASOLIDTAPERED" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("BottomRadius", new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "IFCRIGHTCIRCULARCONE" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CrossSections", new[] { "IFCSECTIONEDSOLID", "IFCSECTIONEDSPINE", "IFCSECTIONEDSURFACE" }, new[] { "IFCSECTIONEDSOLID", "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE", "IFCSECTIONEDSURFACE" });
		destinationSchema.AddAttribute("CrossSectionPositions", new[] { "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE", "IFCSECTIONEDSURFACE" }, new[] { "IFCSECTIONEDSOLIDHORIZONTAL", "IFCSECTIONEDSPINE", "IFCSECTIONEDSURFACE" });
		destinationSchema.AddAttribute("SpineCurve", new[] { "IFCSECTIONEDSPINE" }, new[] { "IFCSECTIONEDSPINE" });
		destinationSchema.AddAttribute("SbsmBoundary", new[] { "IFCSHELLBASEDSURFACEMODEL" }, new[] { "IFCSHELLBASEDSURFACEMODEL" });
		destinationSchema.AddAttribute("ReferenceSurface", new[] { "IFCSURFACECURVESWEPTAREASOLID" }, new[] { "IFCSURFACECURVESWEPTAREASOLID" });
		destinationSchema.AddAttribute("InnerRadius", new[] { "IFCSWEPTDISKSOLID" }, new[] { "IFCSWEPTDISKSOLID", "IFCSWEPTDISKSOLIDPOLYGONAL" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Normals", new[] { "IFCTRIANGULATEDFACESET" }, new[] { "IFCTRIANGULATEDFACESET", "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Flags", new[] { "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "IFCTRIANGULATEDIRREGULARNETWORK" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("StartTag", new[] { "IFCALIGNMENTPARAMETERSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTPARAMETERSEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EndTag", new[] { "IFCALIGNMENTPARAMETERSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTPARAMETERSEGMENT", "IFCALIGNMENTHORIZONTALSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("StartDistAlong", new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("HorizontalLength", new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT", "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartCantLeft", new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndCantLeft", new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartCantRight", new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndCantRight", new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "IFCALIGNMENTCANTSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartPoint", new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENTHORIZONTALSEGMENT" });
		destinationSchema.AddAttribute("StartDirection", new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartRadiusOfCurvature", new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndRadiusOfCurvature", new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("GravityCenterLineHeight", new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "IFCALIGNMENTHORIZONTALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartHeight", new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("StartGradient", new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EndGradient", new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RadiusOfCurvature", new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "IFCALIGNMENTVERTICALSEGMENT" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CurveOnRelatingElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("CurveOnRelatedElement", new[] { "IFCCONNECTIONCURVEGEOMETRY" }, new[] { "IFCCONNECTIONCURVEGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatingElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("PointOnRelatedElement", new[] { "IFCCONNECTIONPOINTGEOMETRY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY", "IFCCONNECTIONPOINTGEOMETRY" });
		destinationSchema.AddAttribute("EccentricityInX", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInY", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("EccentricityInZ", new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "IFCCONNECTIONPOINTECCENTRICITY" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SurfaceOnRelatingElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("SurfaceOnRelatedElement", new[] { "IFCCONNECTIONSURFACEGEOMETRY" }, new[] { "IFCCONNECTIONSURFACEGEOMETRY" });
		destinationSchema.AddAttribute("VolumeOnRelatingElement", new[] { "IFCCONNECTIONVOLUMEGEOMETRY" }, new[] { "IFCCONNECTIONVOLUMEGEOMETRY" });
		destinationSchema.AddAttribute("VolumeOnRelatedElement", new[] { "IFCCONNECTIONVOLUMEGEOMETRY" }, new[] { "IFCCONNECTIONVOLUMEGEOMETRY" });
		destinationSchema.AddAttribute("AxisTag", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AxisCurve", new[] { "IFCGRIDAXIS" }, new[] { "IFCGRIDAXIS" });
		destinationSchema.AddAttribute("PlacementRelTo", new[] { "IFCOBJECTPLACEMENT" }, new[] { "IFCGRIDPLACEMENT", "IFCOBJECTPLACEMENT", "IFCLINEARPLACEMENT", "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("PlacementLocation", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("PlacementRefDirection", new[] { "IFCGRIDPLACEMENT" }, new[] { "IFCGRIDPLACEMENT" });
		destinationSchema.AddAttribute("RelativePlacement", new[] { "IFCLINEARPLACEMENT", "IFCLOCALPLACEMENT" }, new[] { "IFCLINEARPLACEMENT", "IFCLOCALPLACEMENT" });
		destinationSchema.AddAttribute("CartesianPosition", new[] { "IFCLINEARPLACEMENT" }, new[] { "IFCLINEARPLACEMENT" });
		destinationSchema.AddAttribute("IntersectingAxes", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" });
		destinationSchema.AddAttribute("OffsetDistances", new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "IFCVIRTUALGRIDINTERSECTION" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Source", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Edition", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("EditionDate", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("ReferenceTokens", new[] { "IFCCLASSIFICATION" }, new[] { "IFCCLASSIFICATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedSource", new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "IFCCLASSIFICATIONREFERENCE" });
		destinationSchema.AddAttribute("Sort", new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "IFCCLASSIFICATIONREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("IntendedUse", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Scope", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Revision", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DocumentOwner", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("Editors", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" });
		destinationSchema.AddAttribute("CreationTime", new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT" }, new[] { "IFCDOCUMENTINFORMATION", "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LastRevisionTime", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ElectronicFormat", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ValidFrom", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("ValidUntil", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("Confidentiality", new[] { "IFCDOCUMENTINFORMATION" }, new[] { "IFCDOCUMENTINFORMATION" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatedDocuments", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelationshipType", new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "IFCDOCUMENTINFORMATIONRELATIONSHIP" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedDocument", new[] { "IFCDOCUMENTREFERENCE" }, new[] { "IFCDOCUMENTREFERENCE" });
		destinationSchema.AddAttribute("RelatingReference", new[] { "IFCEXTERNALREFERENCERELATIONSHIP" }, new[] { "IFCEXTERNALREFERENCERELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedResourceObjects", new[] { "IFCEXTERNALREFERENCERELATIONSHIP", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" }, new[] { "IFCEXTERNALREFERENCERELATIONSHIP", "IFCRESOURCECONSTRAINTRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Publisher", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" });
		destinationSchema.AddAttribute("VersionDate", new[] { "IFCLIBRARYINFORMATION" }, new[] { "IFCLIBRARYINFORMATION" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("Language", new[] { "IFCLIBRARYREFERENCE" }, new[] { "IFCLIBRARYREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ReferencedLibrary", new[] { "IFCLIBRARYREFERENCE" }, new[] { "IFCLIBRARYREFERENCE" });
		destinationSchema.AddAttribute("DataOrigin", new[] { "IFCSCHEDULINGTIME", "IFCTIMESERIES" }, new[] { "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedDataOrigin", new[] { "IFCSCHEDULINGTIME", "IFCTIMESERIES" }, new[] { "IFCEVENTTIME", "IFCSCHEDULINGTIME", "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCLAGTIME", "IFCREGULARTIMESERIES", "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING", "IFCWORKTIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ActualDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EarlyDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleDate", new[] { "IFCEVENTTIME" }, new[] { "IFCEVENTTIME" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EndTime", new[] { "IFCTIMESERIES", "IFCTIMEPERIOD" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES", "IFCTIMEPERIOD" }, new[] { "xs:dateTime", "xs:time" });
		destinationSchema.AddAttribute("TimeSeriesDataType", new[] { "IFCTIMESERIES" }, new[] { "IFCIRREGULARTIMESERIES", "IFCTIMESERIES", "IFCREGULARTIMESERIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TimeStamp", new[] { "IFCIRREGULARTIMESERIESVALUE" }, new[] { "IFCIRREGULARTIMESERIESVALUE" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LagValue", new[] { "IFCLAGTIME" }, new[] { "IFCLAGTIME" });
		destinationSchema.AddAttribute("DurationType", new[] { "IFCLAGTIME", "IFCTASKTIME" }, new[] { "IFCLAGTIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RecurrenceType", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DayComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("WeekdayComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("MonthComponent", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Interval", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("Occurrences", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("TimePeriods", new[] { "IFCRECURRENCEPATTERN" }, new[] { "IFCRECURRENCEPATTERN" });
		destinationSchema.AddAttribute("TimeStep", new[] { "IFCREGULARTIMESERIES" }, new[] { "IFCREGULARTIMESERIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("ScheduleUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleStart", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleFinish", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ScheduleContour", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("LevelingDelay", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("IsOverAllocated", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("StatusTime", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ActualWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("ActualUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ActualStart", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("ActualFinish", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("RemainingWork", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("RemainingUsage", new[] { "IFCRESOURCETIME" }, new[] { "IFCRESOURCETIME" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("Completion", new[] { "IFCRESOURCETIME", "IFCTASKTIME" }, new[] { "IFCRESOURCETIME", "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ScheduleDuration", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("EarlyStart", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("EarlyFinish", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateStart", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("LateFinish", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("FreeFloat", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("IsCritical", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:boolean" });
		destinationSchema.AddAttribute("ActualDuration", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("RemainingTime", new[] { "IFCTASKTIME" }, new[] { "IFCTASKTIME", "IFCTASKTIMERECURRING" }, new[] { "xs:duration" });
		destinationSchema.AddAttribute("Recurrence", new[] { "IFCTASKTIMERECURRING" }, new[] { "IFCTASKTIMERECURRING" });
		destinationSchema.AddAttribute("RecurrencePattern", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" });
		destinationSchema.AddAttribute("StartDate", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("FinishDate", new[] { "IFCWORKTIME" }, new[] { "IFCWORKTIME" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("AppliedValue", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("UnitBasis", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("ApplicableDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("FixedUntilDate", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:date" });
		destinationSchema.AddAttribute("Condition", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ArithmeticOperator", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Components", new[] { "IFCAPPLIEDVALUE" }, new[] { "IFCAPPLIEDVALUE", "IFCCOSTVALUE" });
		destinationSchema.AddAttribute("RelatingMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedMonetaryUnit", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("ExchangeRate", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("RateDateTime", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("RateSource", new[] { "IFCCURRENCYRELATIONSHIP" }, new[] { "IFCCURRENCYRELATIONSHIP" });
		destinationSchema.AddAttribute("LifeCyclePhase", new[] { "IFCPERFORMANCEHISTORY" }, new[] { "IFCPERFORMANCEHISTORY" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingApproval", new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" }, new[] { "IFCRELASSOCIATESAPPROVAL", "IFCAPPROVALRELATIONSHIP", "IFCRESOURCEAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Intent", new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "IFCRELASSOCIATESCONSTRAINT" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RelatingConstraint", new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCRESOURCECONSTRAINTRELATIONSHIP" }, new[] { "IFCRELASSOCIATESCONSTRAINT", "IFCRESOURCECONSTRAINTRELATIONSHIP" });
		destinationSchema.AddAttribute("BaseCosts", new[] { "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONRESOURCETYPE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" });
		destinationSchema.AddAttribute("BaseQuantity", new[] { "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONRESOURCETYPE" }, new[] { "IFCCONSTRUCTIONEQUIPMENTRESOURCE", "IFCCONSTRUCTIONRESOURCE", "IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE", "IFCCONSTRUCTIONRESOURCETYPE", "IFCCONSTRUCTIONMATERIALRESOURCE", "IFCCONSTRUCTIONMATERIALRESOURCETYPE", "IFCCONSTRUCTIONPRODUCTRESOURCE", "IFCCONSTRUCTIONPRODUCTRESOURCETYPE", "IFCCREWRESOURCE", "IFCCREWRESOURCETYPE", "IFCLABORRESOURCE", "IFCLABORRESOURCETYPE", "IFCSUBCONTRACTRESOURCE", "IFCSUBCONTRACTRESOURCETYPE" });
		destinationSchema.AddAttribute("ConstraintGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ConstraintSource", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("CreatingActor", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("UserDefinedGrade", new[] { "IFCCONSTRAINT" }, new[] { "IFCCONSTRAINT", "IFCMETRIC", "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Benchmark", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ValueSource", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("DataValue", new[] { "IFCMETRIC" }, new[] { "IFCMETRIC" });
		destinationSchema.AddAttribute("BenchmarkValues", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" });
		destinationSchema.AddAttribute("LogicalAggregator", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ObjectiveQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedQualifier", new[] { "IFCOBJECTIVE" }, new[] { "IFCOBJECTIVE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TypeIdentifier", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AttributeIdentifier", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("InstanceName", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ListPositions", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" }, new[] { "xs:integer" });
		destinationSchema.AddAttribute("InnerReference", new[] { "IFCREFERENCE" }, new[] { "IFCREFERENCE" });
		destinationSchema.AddAttribute("LiningDepth", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomThickness", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TransomOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningOffset", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ThresholdOffset", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingThickness", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("CasingDepth", new[] { "IFCDOORLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("ShapeAspectStyle", new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWLININGPROPERTIES", "IFCWINDOWPANELPROPERTIES" });
		destinationSchema.AddAttribute("LiningToPanelOffsetX", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("LiningToPanelOffsetY", new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCDOORLININGPROPERTIES", "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelDepth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelOperation", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PanelWidth", new[] { "IFCDOORPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("PanelPosition", new[] { "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCDOORPANELPROPERTIES", "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FrameDepth", new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FrameThickness", new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "IFCPERMEABLECOVERINGPROPERTIES", "IFCWINDOWPANELPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("MullionThickness", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondTransomOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("FirstMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("SecondMullionOffset", new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "IFCWINDOWLININGPROPERTIES" }, new[] { "xs:double" });
		destinationSchema.AddAttribute("TimeOfApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:dateTime" });
		destinationSchema.AddAttribute("Level", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Qualifier", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("RequestingApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" });
		destinationSchema.AddAttribute("GivingApproval", new[] { "IFCAPPROVAL" }, new[] { "IFCAPPROVAL" });
		destinationSchema.AddAttribute("RelatedApprovals", new[] { "IFCAPPROVALRELATIONSHIP" }, new[] { "IFCAPPROVALRELATIONSHIP" });
		destinationSchema.AddAttribute("Role", new[] { "IFCACTORROLE" }, new[] { "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedRole", new[] { "IFCACTORROLE" }, new[] { "IFCACTORROLE" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("UserDefinedPurpose", new[] { "IFCADDRESS" }, new[] { "IFCADDRESS", "IFCPOSTALADDRESS", "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Roles", new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" }, new[] { "IFCORGANIZATION", "IFCPERSON", "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("Addresses", new[] { "IFCORGANIZATION", "IFCPERSON" }, new[] { "IFCORGANIZATION", "IFCPERSON" });
		destinationSchema.AddAttribute("RelatingOrganization", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("RelatedOrganizations", new[] { "IFCORGANIZATIONRELATIONSHIP" }, new[] { "IFCORGANIZATIONRELATIONSHIP" });
		destinationSchema.AddAttribute("FamilyName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("GivenName", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MiddleNames", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PrefixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("SuffixTitles", new[] { "IFCPERSON" }, new[] { "IFCPERSON" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ThePerson", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("TheOrganization", new[] { "IFCPERSONANDORGANIZATION" }, new[] { "IFCPERSONANDORGANIZATION" });
		destinationSchema.AddAttribute("InternalLocation", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("AddressLines", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalBox", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Town", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Region", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PostalCode", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("Country", new[] { "IFCPOSTALADDRESS" }, new[] { "IFCPOSTALADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("TelephoneNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("FacsimileNumbers", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("PagerNumber", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("ElectronicMailAddresses", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("WWWHomePageURL", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
		destinationSchema.AddAttribute("MessagingIDs", new[] { "IFCTELECOMADDRESS" }, new[] { "IFCTELECOMADDRESS" }, new[] { "xs:string" });
	}
}
