<?xml version="1.0" encoding="utf-8"?>
<!--
//
//  String.xml - XML definition for the Mocha `String` system class instance
//
//  Author:
//       Michael Becker <alcexhim@gmail.com>
//
//  Copyright (c) 2020 Mike Becker's Software
//
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-->
<mocha xmlns="urn:net.alcetech.schemas.Mocha">
	<libraries>
		<library id="{2826E41F-763A-413F-B239-3D9698AB629F}">
			<instances>
				<instance id="&IDC_String;" superClassId="&IDC_Class;">
					<attributeValues>
						<!-- do not allow inheritance from this Class (i.e. superClassId= IDC_STRING) -->
						<attributeValue attributeInstanceId="&IDA_Final;" value="true" />
					</attributeValues>
					<translations>
						<!-- Class.has title Translation -->
						<translation relationshipInstanceId="&IDR_Class__has_title__Translation;">
							<translationValues>
								<translationValue languageInstanceId="&IDI_Language_English;" value="String" />
							</translationValues>
						</translation>
					</translations>
				</instance>
				
				<instance id="{72EF8007-B309-4DDE-A9F3-05BC0F61197F}" classInstanceId="&IDC_Relationship;">
					<!-- Attribute.has title Translation -->
					<attributeValues>
						<attributeValue attributeInstanceId="{71106B12-1934-4834-B0F6-D894637BAEED}" value="has title" />
					</attributeValues>
					<relationships>
						<relationship relationshipInstanceId="{7FB5D234-042E-45CB-B11D-AD72F8D45BD3}">
							<!-- .has source Class `Attribute` -->
							<targetInstances>
								<instanceReference instanceId="{F9CD7751-EF62-4F7C-8A28-EBE90B8F46AA}" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="{F220F1C2-0499-4E87-A32E-BDBF80C1F8A4}">
							<!-- .has destination Class `Translation` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_Translation;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Relationship__has_sibling__Relationship;">
							<!-- .has sibling Relationship -->
							<targetInstances>
								<instanceReference instanceId="{322C5B3E-3F46-44C3-BE60-DA013ADE0D64}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{322C5B3E-3F46-44C3-BE60-DA013ADE0D64}" classInstanceId="&IDC_Relationship;">
					<!-- Attribute.has title Translation -->
					<attributeValues>
						<attributeValue attributeInstanceId="{71106B12-1934-4834-B0F6-D894637BAEED}" value="title for" />
					</attributeValues>
					<relationships>
						<relationship relationshipInstanceId="{7FB5D234-042E-45CB-B11D-AD72F8D45BD3}">
							<!-- .has source Class `Translation` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_Translation;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="{F220F1C2-0499-4E87-A32E-BDBF80C1F8A4}">
							<!-- .has destination Class `Attribute` -->
							<targetInstances>
								<instanceReference instanceId="{F9CD7751-EF62-4F7C-8A28-EBE90B8F46AA}" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Relationship__has_sibling__Relationship;">
							<!-- .has sibling Relationship -->
							<targetInstances>
								<instanceReference instanceId="{72EF8007-B309-4DDE-A9F3-05BC0F61197F}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				<instance id="{0795FC31-589E-4219-9F20-3924132376A9}" classInstanceId="&IDC_ExtractSingleInstanceStringComponent;">
					<relationships>
						<relationship relationshipInstanceId="{5E499753-F50F-4A9E-BF53-DC013820499C}">
							<!-- Extract Single Instance String Component.has Relationship -->
							<targetInstances>
								<!-- Attribute.has title Translation -->
								<instanceReference instanceId="{72EF8007-B309-4DDE-A9F3-05BC0F61197F}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				<instance id="{69FA0360-4747-49BC-8B82-06CD121B6F36}" classInstanceId="&IDC_String;">
					<relationships>
						<relationship relationshipInstanceId="&IDR_String__has__String_Component;">
							<targetInstances>
								<instanceReference instanceId="{9DD1CDE1-6DAD-452D-9A07-9DE1CC32A396}" />
								<instanceReference instanceId="{1BC6AC2B-7C3F-46EB-88F7-47F7070ED1DD}" />
								<instanceReference instanceId="{CD44D6DB-9C7F-4AE3-A1D8-FA6135EB3689}" />
								<instanceReference instanceId="{936E4426-5995-4713-BDEE-BF4F7BA2AFAE}" />
								<instanceReference instanceId="{7734AD93-8328-421B-BD78-E353EEFB0879}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{6894DC7E-F471-4F5C-88E6-B8016259817F}" classInstanceId="&IDC_String;">
					<!-- Build Attribute [TX]: translated Title for Instance parm -->
					<relationships>
						<relationship relationshipInstanceId="&IDR_String__has__String_Component;">
							<targetInstances>
								<!-- Single Instance: Instance.has title Translation -->
								<instanceReference instanceId="{0795FC31-589E-4219-9F20-3924132376A9}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{DFF37594-DFC2-4269-A04B-510385B615A4}" classInstanceId="&IDC_String;">
					<relationships>
						<relationship relationshipInstanceId="&IDR_String__has__String_Component;">
							<targetInstances>
								<instanceReference instanceId="{E2F11C41-51F1-4DB2-A16F-C384267A8598}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{DD658EAB-9A3D-4ED1-8631-E3A5A336A7B6}" classInstanceId="&IDC_String;">
					<relationships>
						<relationship relationshipInstanceId="&IDR_String__has__String_Component;">
							<targetInstances>
								<instanceReference instanceId="{E81D9358-CFA9-447C-854E-4A95BE22210D}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				
				
				<instance id="&IDR_Class__instance_labeled_by__String;" classInstanceId="&IDC_Relationship;">
					<!-- Class.instance labeled by String -->
					<attributeValues>
						<attributeValue attributeInstanceId="{71106B12-1934-4834-B0F6-D894637BAEED}" value="instance labeled by" />
						<attributeValue attributeInstanceId="&IDA_Singular;" value="true" />
					</attributeValues>
					<relationships>
						<relationship relationshipInstanceId="{7FB5D234-042E-45CB-B11D-AD72F8D45BD3}">
							<!-- .has source Class `Class` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_Class;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="{F220F1C2-0499-4E87-A32E-BDBF80C1F8A4}">
							<!-- .has destination Class `String` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_String;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Relationship__has_sibling__Relationship;">
							<!-- .has sibling Relationship -->
							<targetInstances>
								<instanceReference instanceId="{6CB2BDF2-01E0-40E7-8E23-7EB2E6476634}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{6CB2BDF2-01E0-40E7-8E23-7EB2E6476634}" classInstanceId="&IDC_Relationship;">
					<!-- String.labels instance of Class -->
					<attributeValues>
						<attributeValue attributeInstanceId="{71106B12-1934-4834-B0F6-D894637BAEED}" value="labels instance of" />
						<attributeValue attributeInstanceId="&IDA_Singular;" value="true" />
					</attributeValues>
					<relationships>
						<relationship relationshipInstanceId="{7FB5D234-042E-45CB-B11D-AD72F8D45BD3}">
							<!-- .has source Class `String` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_String;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="{F220F1C2-0499-4E87-A32E-BDBF80C1F8A4}">
							<!-- .has destination Class `Class` -->
							<targetInstances>
								<instanceReference instanceId="&IDC_Class;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Relationship__has_sibling__Relationship;">
							<!-- .has sibling Relationship -->
							<targetInstances>
								<instanceReference instanceId="&IDR_Class__instance_labeled_by__String;" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				
				<instance id="{78bf718b-8fad-4a53-ad15-597bf89c268c}" classInstanceId="&IDC_ReturnAttributeMethodBinding;">
					<relationships>
						<relationship relationshipInstanceId="&IDR_Method_Binding__for__Method;">
							<targetInstances>
								<instanceReference instanceId="{e4f36e41-c403-4ace-be09-a715c8e219a8}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				<instance id="{e4f36e41-c403-4ace-be09-a715c8e219a8}" classInstanceId="&IDC_GetAttributeMethod;">
					<!-- Common Text@get Name (GA - Get Attribute Method) -->
					<attributeValues>
						<attributeValue attributeInstanceId="&IDA_Verb;" value="get" />
					</attributeValues>
					<translations>
						<translation relationshipInstanceId="{52B65829-4A3F-44FB-BEE8-D9A240F1E9C9}">
							<translationValues>
								<translationValue languageInstanceId="&IDI_Language_English;" value="Name" />
							</translationValues>
						</translation>
					</translations>
					<relationships>
						<relationship relationshipInstanceId="{5eca9b3f-be75-4f6e-8495-781480774833}">
							<!-- Get Attribute Method.has Attribute -->
							<targetInstances>
								<instanceReference instanceId="&IDA_Name;" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Method__for__Class;">
							<targetInstances>
								<instanceReference instanceId="{34241fb3-ca55-4e23-80c2-5e0058311657}" />
							</targetInstances>
						</relationship>
						<relationship relationshipInstanceId="&IDR_Method__has__Method_Binding;">
							<targetInstances>
								<instanceReference instanceId="{78bf718b-8fad-4a53-ad15-597bf89c268c}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				<instance id="{65a69e51-20ae-4def-a78a-f1c8ec81888a}" classInstanceId="&IDC_StringComponent;">
					<relationships>
						<relationship relationshipInstanceId="&IDR_String_Component__has_source__Method;">
							<targetInstances>
								<instanceReference instanceId="{78bf718b-8fad-4a53-ad15-597bf89c268c}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
				
				<instance id="{a5102470-94f5-4fb8-ada1-4d7ba0c276a6}" classInstanceId="&IDC_String;">
					<!-- labels instance with the value of the `Name` attribute -->
					<relationships>
						<relationship relationshipInstanceId="&IDR_String__has__String_Component;">
							<targetInstances>
								<instanceReference instanceId="{65a69e51-20ae-4def-a78a-f1c8ec81888a}" />
							</targetInstances>
						</relationship>
					</relationships>
				</instance>
			</instances>
		</library>
	</libraries>
</mocha>
