1: <?php
2:
3: /**
4: * Description of IGSNMetadata
5: *
6: * @author sfrenzel
7: */
8: class IGSN_Metadata_Base_Representation {
9:
10: const IDENTIFIERTYPE = 'identifierType';
11: const RELATEDIDENTIFIERTYPE = 'relatedIdentifierType';
12: const RELATIONSTYPE = 'relationType';
13: const REGISTRANT = 'registrant';
14: const REGISTRANTNAME = 'registrantName';
15: const NAMEIDENTIFIER = 'nameIdentifier';
16: const NAMEIDENTIFIERSCHEME = 'nameIdentifierScheme';
17: const TIDENTIFIER = 'identifier';
18: const TNAME = 'name';
19: const TTYPE = 'type';
20: const RELATEDIDENTIFIERS = 'relatedIdentifiers';
21: const RELATEDIDENTIFIER = 'relatedIdentifier';
22: const ALTERNATEIDENTIFIERS = 'alternateIdentifiers';
23: const ALTERNATEIDENTIFIER = 'alternateIdentifier';
24: const DESCRIPTION = 'description';
25: const AFFILIATION = 'affiliation';
26: const COLLECTOR = 'collector';
27:
28: public function reflekt() {
29: return get_object_vars($this);
30: }
31:
32: public function setAttribute($attributeName, $attributeVal): Element {
33: $attribute = new Element();
34: $attribute->setKeyname($attributeName);
35: $attribute->setValue($attributeVal);
36: $attribute->isdepended = true;
37: return $attribute;
38: }
39:
40: public function setbasicElement($value, $keyname): Element {
41: $basicElement = new Element();
42: if (strcmp($value, '') === 0) {
43:
44: return $this->setEmptyElement($keyname);
45: }else{
46: $basicElement->setKeynameValue($keyname, $value);
47: return $basicElement;
48: }
49: }
50:
51: public function setParentElement($keyname): Element {
52: $parentElement = new Element();
53: $parentElement->setKeyname($keyname);
54: $parentElement->isparenttag = true;
55: return $parentElement;
56: }
57:
58: public function setEmptyElement($keyname): Element {
59: $parentElement = new Element();
60: $parentElement->setKeyname($keyname);
61: return $parentElement;
62: }
63:
64: public function set2Registrant($registrantelement): void {
65: if ($this->registrant != NULL) {
66: $this->registrant->insertChild($registrantelement);
67: } else {
68: $this->registrant = $this->setParentElement(self::REGISTRANT);
69: $this->registrant->insertChild($registrantelement);
70: }
71: }
72:
73: public function setRegistrant_Name($registrantName): void {
74: $registrantNameele = $this->setbasicElement($registrantName, self::REGISTRANTNAME);
75: $this->set2Registrant($registrantNameele);
76: }
77:
78: public function setEmptyAffiliation(): Element {
79: $registrantaffilation = $this->setParentElement(self::AFFILIATION);
80: return $registrantaffilation;
81: }
82:
83: public function setAffiliation_name_identifier_type_($affiliation_name, $affiliation_identifier, $affiliation_identifiertype): Element {
84: $affilation = $this->setParentElement(self::AFFILIATION);
85: $affiliationidentifier = $this->setbasicElement($affiliation_identifier, self::TIDENTIFIER);
86: $idtype = $this->setAttribute(self::TTYPE, $affiliation_identifiertype);
87: $affiliationidentifier->insertAttributes($idtype);
88: $affiliationname = $this->setbasicElement($affiliation_name, self::TNAME);
89: $affilation->insertChild($affiliationidentifier);
90: $affilation->insertChild($affiliationname);
91: return $affilation;
92: }
93:
94: public function setAffiliation_name_identifier($affiliation_name, $affiliation_identifier): Element {
95: $affilation = $this->setParentElement(self::AFFILIATION);
96: $affiliationidentifier = $this->setbasicElement($affiliation_identifier, self::TIDENTIFIER);
97: $affiliationname = $this->setbasicElement($affiliation_name, self::TNAME);
98: $affilation->insertChild($affiliationidentifier);
99: $affilation->insertChild($affiliationname);
100: return $affilation;
101: }
102:
103: public function setAffiliation_identifier($affiliation_identifier): Element {
104: $affilation = $this->setParentElement(self::AFFILIATION);
105: $affiliationidentifier = $this->setbasicElement($affiliation_identifier, self::TIDENTIFIER);
106:
107: $affilation->insertChild($affiliationidentifier);
108: return $affilation;
109: }
110:
111: public function setAffiliation_identifier_type($affiliation_identifier, $affiliation_identifiertype): Element {
112: $affilation = $this->setParentElement(self::AFFILIATION);
113: $affiliationidentifier = $this->setbasicElement($affiliation_identifier, self::TIDENTIFIER);
114: $idtype = $this->setAttribute(self::TTYPE, $affiliation_identifiertype);
115: $affiliationidentifier->insertAttributes($idtype);
116: $affilation->insertChild($affiliationidentifier);
117: return $affilation;
118: }
119:
120: public function setAffiliation_name($Affiliation_name): Element {
121: $affilation = $this->setParentElement(self::AFFILIATION);
122: $affiliationname = $this->setbasicElement($Affiliation_name, self::TNAME);
123: $affilation->insertChild($affiliationname);
124: return $affilation;
125: }
126:
127: public function createIdentifier($identifier): Element {
128: $identifierele = $this->setbasicElement($identifier, self::TIDENTIFIER);
129: return $identifierele;
130: }
131:
132: public function setIdentifier_type($identifier, $identifiertype): Element {
133: $identifierele = $this->setbasicElement($identifier, self::TIDENTIFIER);
134: $idtype = $this->setAttribute(self::TTYPE, $identifiertype);
135: $identifierele->insertAttributes($idtype);
136: return $identifierele;
137: }
138:
139: public function createName($name): Element {
140: $nameelement = $this->setbasicElement($name, self::TNAME);
141: return $nameelement;
142: }
143:
144: //
145:
146: public function setRelatedIdentifier($relatedIdentifier): void {
147: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
148: $this->setRelatedIdentifiers($relatedIdentifierele);
149: }
150:
151: public function setRelatedIdentifier_type($relatedIdentifier, $type): void {
152: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
153: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
154: $relatedIdentifierele->insertAttributes($typeele);
155: $this->setRelatedIdentifiers($relatedIdentifierele);
156: }
157:
158: public function setRelatedIdentifier_relation($relatedIdentifier, $relation): void {
159: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
160: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
161: $relatedIdentifierele->insertAttributes($relationele);
162: $this->setRelatedIdentifiers($relatedIdentifierele);
163: }
164:
165: public function setRelatedIdentifier_type_relation($relatedIdentifier, $type, $relation): void {
166: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
167: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
168: $relatedIdentifierele->insertAttributes($typeele);
169: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
170: $relatedIdentifierele->insertAttributes($relationele);
171: $this->setRelatedIdentifiers($relatedIdentifierele);
172: }
173:
174: public function setRelatedIdentifier_type_relation_scheme($relatedIdentifier, $type, $relation, $scheme): void {
175: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
176: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
177: $relatedIdentifierele->insertAttributes($typeele);
178: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
179: $relatedIdentifierele->insertAttributes($relationele);
180: $schemeele = $this->setAttribute(self::RELATEDMETADATASCHEME, $scheme);
181: $relatedIdentifierele->insertAttributes($schemeele);
182: $this->setRelatedIdentifiers($relatedIdentifierele);
183: }
184:
185: public function setRelatedIdentifier_type_relation_scheme_uri($relatedIdentifier, $type, $relation, $scheme, $uri): void {
186: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
187: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
188: $relatedIdentifierele->insertAttributes($typeele);
189: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
190: $relatedIdentifierele->insertAttributes($relationele);
191: $schemeele = $this->setAttribute(self::RELATEDMETADATASCHEME, $scheme);
192: $relatedIdentifierele->insertAttributes($schemeele);
193:
194: $schemeuriele = $this->setAttribute(self::SCHEMEURI, $uri);
195: $relatedIdentifierele->insertAttributes($schemeuriele);
196: $this->setRelatedIdentifiers($relatedIdentifierele);
197: }
198:
199: public function setRelatedIdentifier_type_relation_uri($relatedIdentifier, $type, $relation, $uri): void {
200: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
201: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
202: $relatedIdentifierele->insertAttributes($typeele);
203: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
204: $relatedIdentifierele->insertAttributes($relationele);
205: $schemeuriele = $this->setAttribute(self::SCHEMEURI, $uri);
206: $relatedIdentifierele->insertAttributes($schemeuriele);
207: $this->setRelatedIdentifiers($relatedIdentifierele);
208: }
209:
210: public function setRelatedIdentifier_type_relation_scheme_uri_schemetype($relatedIdentifier, $type, $relation, $scheme, $uri, $schemetype): void {
211: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
212: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
213: $relatedIdentifierele->insertAttributes($typeele);
214: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
215: $relatedIdentifierele->insertAttributes($relationele);
216: $schemeele = $this->setAttribute(self::RELATEDMETADATASCHEME, $scheme);
217: $relatedIdentifierele->insertAttributes($schemeele);
218:
219: $schemeuriele = $this->setAttribute(self::SCHEMEURI, $uri);
220: $relatedIdentifierele->insertAttributes($schemeuriele);
221: $schemetypeele = $this->setAttribute(self::SCHEMETYPE, $schemetypeele);
222: $relatedIdentifierele->insertAttributes($schemetypeele);
223: $this->setRelatedIdentifiers($relatedIdentifierele);
224: }
225:
226: public function setRelatedIdentifier_type_relation_uri_schemetype($relatedIdentifier, $type, $relation, $uri, $schemetype): void {
227: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
228: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
229: $relatedIdentifierele->insertAttributes($typeele);
230: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
231: $relatedIdentifierele->insertAttributes($relationele);
232:
233: $schemeuriele = $this->setAttribute(self::SCHEMEURI, $uri);
234: $relatedIdentifierele->insertAttributes($schemeuriele);
235: $schemetypeele = $this->setAttribute(self::SCHEMETYPE, $schemetypeele);
236: $relatedIdentifierele->insertAttributes($schemetypeele);
237: $this->setRelatedIdentifiers($relatedIdentifierele);
238: }
239:
240: public function setRelatedIdentifier_type_relation_scheme_schemetype($relatedIdentifier, $type, $relation, $scheme, $schemetype): void {
241: $relatedIdentifierele = $this->setbasicElement($relatedIdentifier, self::RELATEDIDENTIFIER);
242: $typeele = $this->setAttribute(self::RELATEDIDENTIFIERTYPE, $type);
243: $relatedIdentifierele->insertAttributes($typeele);
244: $relationele = $this->setAttribute(self::RELATIONSTYPE, $relation);
245: $relatedIdentifierele->insertAttributes($relationele);
246: $schemeele = $this->setAttribute(self::RELATEDMETADATASCHEME, $scheme);
247: $relatedIdentifierele->insertAttributes($schemeele);
248: $relatedIdentifierele->insertAttributes($relationele);
249: $schemetypeele = $this->setAttribute(self::SCHEMETYPE, $schemetypeele);
250: $relatedIdentifierele->insertAttributes($schemetypeele);
251: $this->setRelatedIdentifiers($relatedIdentifierele);
252: }
253:
254: public function setAlternateIdentifier($alternateIdentifier): void {
255: $alternateIdentifierele = $this->setbasicElement($alternateIdentifier, self::ALTERNATEIDENTIFIER);
256: $this->setAlternateIdentifiers($alternateIdentifierele);
257: }
258:
259: public function setAlternateIdentifier_type($alternateIdentifier, $type): void {
260: $alternateIdentifierele = $this->setbasicElement($alternateIdentifier, self::ALTERNATEIDENTIFIER);
261: $typeele = $this->setAttribute('identifierType', $type);
262: $alternateIdentifierele->insertAttributes($typeele);
263: $this->setAlternateIdentifiers($alternateIdentifierele);
264: }
265:
266: }
267: