-<RequestId>
-[% IF data.RequestId.AgencyId -%]
-<AgencyId>[% data.RequestId.AgencyId | xml %]</AgencyId>
-[% END -%]
-[% IF data.RequestId.RequestIdentifierType -%]
-<RequestIdentifierType>[% data.RequestId.RequestIdentifierType | xml %]</RequestIdentifierType>
-[% END -%]
-<RequestIdentifierValue>[% data.RequestId.RequestIdentifierValue | xml %]</RequestIdentifierValue>
-</RequestId>
-[% IF data.ItemId -%]
-<ItemId>
-[% IF data.ItemId.AgencyId -%]
-<AgencyId>[% data.ItemId.AgencyId | xml %]</AgencyId>
-[% END -%]
-[% IF data.ItemId.ItemIdentifierType -%]
-<ItemIdentifierType>[% data.ItemId.ItemIdentifierType | xml %]</ItemIdentifierType>
-[% END -%]
-<ItemIdentifierValue>[% data.ItemId.ItemIdentifierValue | xml %]</ItemIdentifierValue>
-</ItemId>
-[% END -%]
-[% INCLUDE "includes/UserOptionalFields.inc" -%]
+[%-
+ INCLUDE "includes/RequestId.inc";
+ IF data.ItemId;
+ INCLUDE "includes/ItemId.inc";
+ END
+-%]
-<RequestId>
-[% IF data.RequestId.AgencyId -%]
-<AgencyId>[% data.RequestId.AgencyId | xml %]</AgencyId>
-[% END -%]
-<RequestIdentifierValue>[% data.RequestId.RequestIdentifierValue | xml %]</RequestIdentifierValue>
-[% IF data.RequestId.RequestIdentifierType -%]
-<RequestIdentifierType>[% data.RequestId.RequestIdentifierType | xml %]</RequestIdentifierType>
-[% END %]
-</RequestId>
-<UserId>
-[% IF data.UserId.AgencyId -%]
-<AgencyId>[% data.UserId.AgencyId | xml %]</AgencyId>
-[% END -%]
-<UserIdentifierValue>[% data.UserId.UserIdentifierValue | xml %]</UserIdentifierValue>
-[% IF data.UserId.UserIdentifierType -%]
-<UserIdentifierType>[% data.UserId.UserIdentifierType | xml %]</UserIdentiferiType>
-[% END -%]
-</UserId>
-[% INCLUDE "includes/UserOptionalFields.inc" -%]
-[% INCLUDE "includes/ItemOptionalFields.inc" -%]
+[%-
+ IF data.RequestId;
+ INCLUDE "includes/RequestId.inc";
+ END;
+ IF data.ItemId;
+ INCLUDE "includes/ItemId.inc";
+ END;
+ INCLUDE "includes/UserId.inc";
+ INCLUDE "includes/ItemOptionalFields.inc"
+ INCLUDE "includes/UserOptionalFields.inc";
+-%]
-<ItemId>
-[% IF data.ItemId.AgencyId -%]
-<AgencyId>[% data.ItemId.AgencyId | xml %]</AgencyId>
-[% END -%]
-[% IF data.ItemId.ItemIdentifierType -%]
-<ItemIdentifierType>[% data.ItemId.ItemIdentifierType | xml %]</ItemIdentifierType>
-[% END -%]
-<ItemIdentifierValue>[% data.ItemId.ItemIdentifierValue | xml %]</ItemIdentifierValue>
-</ItemId>
-[% IF data.UserId -%]
-<UserId>
-[% IF data.UserId.AgencyId -%]
-<AgencyId>[% data.UserId.AgencyId | xml %]</AgencyId>
-[% END -%]
-[% IF data.UserId.UserIdentifierType -%]
-<UserIdentifierType>[% data.UserId.UserIdentifierType | xml %]</UserIdentifierType>
-[% END -%]
-<UserIdentifierValue>[% data.UserId.UserIdentifierValue | xml %]</UserIdentifierValue>
-</UserId>
-[% END -%]
-[% INCLUDE "includes/UserOptionalFields.inc" -%]
-[% INCLUDE "includes/ItemOptionalFields.inc" -%]
+[%-
+ INCLUDE "includes/ItemId.inc";
+ IF data.UserId;
+ INCLUDE "includes/UserId.inc";
+ END;
+ INCLUDE "includes/ItemOptionalFields.inc";
+ INCLUDE "includes/UserOptionalFields.inc";
+-%]
-[% INCLUDE "includes/CheckInItemResponse.inc" %]
-[% IF data.DateDue -%]
+[%-
+ INCLUDE "includes/ItemId.inc";
+ IF data.UserId;
+ INCLUDE "includes/UserId.inc";
+ END;
+ IF data.DateDue
+-%]
<DateDue>[% data.DateDue | xml %]</DateDue>
-[% END -%]
+[%-
+ END;
+ INCLUDE "includes/ItemOptionalFields.inc";
+ INCLUDE "includes/UserOptionalFields.inc";
+-%]
--- /dev/null
+<ItemId>
+[% IF data.ItemId.AgencyId -%]
+<AgencyId>[% data.ItemId.AgencyId | xml %]</AgencyId>
+[% END -%]
+[% IF data.ItemId.ItemIdentifierType -%]
+<ItemIdentifierType>[% data.ItemId.ItemIdentifierType | xml %]</ItemIdentifierType>
+[% END -%]
+<ItemIdentifierValue>[% data.ItemId.ItemIdentifierValue | xml %]</ItemIdentifierValue>
+</ItemId>
[% IF data.ItemOptionalFields.BibliographicDescription.Author -%]
<Author>[% data.ItemOptionalFields.BibliographicDescription.Author | xml %]</Author>
[% END -%]
-[% IF data.ItemOptionalFields.BibliographicDescription.Title -%]
-<Title>[% data.ItemOptionalFields.BibliographicDescription.Title | xml %]</Title>
-[% END -%]
-[% IF data.ItemOptionalFields.BibliographicDescription.Publisher -%]
-<Publisher>[% data.ItemOptionalFields.BibliographicDescription.Publisher | xml %]</Publisher>
-[% END -%]
-[% IF data.ItemOptionalFields.BibliographicDescription.PublicationDate -%]
-<PublicationDate>[% data.ItemOptionalFields.BibliographicDescription.PublicationDate | xml %]</PublicationDate>
+[% IF data.ItemOptionalFields.BibliographicDescription.BibliographicItemId;
+ id = data.ItemOptionalFields.BibliographicDescription.BibliographicItemId -%]
+<BibliographicItemId>
+<BibliographicItemIdentifier>[% id.BibliographicItemIdentifier | xml %]</BibliographicItemIdentifier>
+[% IF id.BibliographicItemIdentifierCode -%]
+<BibliographicItemIdentifierCode>[% id.BibliographicItemIdentifierCode | xml %]</BibliographicItemIdentifierCode>
[% END -%]
-[% IF data.ItemOptionalFields.BibliographicDescription.Edition -%]
-<Edition>[% data.ItemOptionalFields.BibliographicDescription.Edition | xml %]</Edition>
+</BibliographicItemId>
[% END -%]
[% IF data.ItemOptionalFields.BibliographicDescription.BibliographicRecordId;
id = data.ItemOptionalFields.BibliographicDescription.BibliographicRecordId -%]
<BibliographicRecordId>
<BibliographicRecordIdentifier>[% id.BibliographicRecordIdentifier | xml %]</BibliographicRecordIdentifer>
-[% IF id.BibliographicRecordIdentifierCode -%]
-<BibliographicRecordIdentifierCode>[% id.BibliographicRecordIdentifierCode | xml %]</BibliographicRecordIdentifierCode>
-[% END -%]
[% IF id.AgencyId -%]
<AgencyId>[% id.AgencyId | xml %]</AgencyId>
+[% ELSIF id.BibliographicRecordIdentifierCode -%]
+<BibliographicRecordIdentifierCode>[% id.BibliographicRecordIdentifierCode | xml %]</BibliographicRecordIdentifierCode>
[% END -%]
</BibliographicRecordId>
[% END -%]
-[% IF data.ItemOptionalFields.BibliographicDescription.BibliographicItemId;
- id = data.ItemOptionalFields.BibliographicDescription.BibliographicItemId -%]
-<BibliographicItemId>
-<BibliographicItemIdentifier>[% id.BibliographicItemIdentifier | xml %]</BibliographicItemIdentifier>
-[% IF id.BibliographicItemIdentifierCode -%]
-<BibliographicItemIdentifierCode>[% id.BibliographicItemIdentifierCode | xml %]</BibliographicItemIdentifierCode>
+[% IF data.ItemOptionalFields.BibliographicDescription.Edition -%]
+<Edition>[% data.ItemOptionalFields.BibliographicDescription.Edition | xml %]</Edition>
[% END -%]
-</BibliographicItemId>
+[% IF data.ItemOptionalFields.BibliographicDescription.PublicationDate -%]
+<PublicationDate>[% data.ItemOptionalFields.BibliographicDescription.PublicationDate | xml %]</PublicationDate>
+[% END -%]
+[% IF data.ItemOptionalFields.BibliographicDescription.Publisher -%]
+<Publisher>[% data.ItemOptionalFields.BibliographicDescription.Publisher | xml %]</Publisher>
+[% END -%]
+[% IF data.ItemOptionalFields.BibliographicDescription.Title -%]
+<Title>[% data.ItemOptionalFields.BibliographicDescription.Title | xml %]</Title>
[% END -%]
</BibliographicDescription>
[% END -%]
+[% IF data.ItemOptionalFields.ItemUseRestrictionType -%]
+<ItemUseRestrictionType>[% data.ItemOptionalFields.ItemUseRestrictionType | xml %]</ItemUseRestrictionType>
+[% END -%]
+[% IF data.ItemOptionalFields.CirculationStatus -%]
+<CirculationStatus>[% data.ItemOptionalFields.CirculationStatus | xml %]</CirculationStatus>
+[% END -%]
[% IF data.ItemOptionalFields.ItemDescription -%]
<ItemDescription>
<CallNumber>[% data.ItemOptionalFields.ItemDescription.CallNumber | xml %]</CallNumber>
</ItemDescription>
[% END -%]
-[% IF data.ItemOptionalFields.CirculationStatus -%]
-<CirculationStatus>[% data.ItemOptionalFields.CirculationStatus | xml %]</CirculationStatus>
+[% IF data.ItemOptionalFields.PhysicalCondition -%]
+<PhysicalCondition>[% data.ItemOptionalFields.PhysicalCondition | xml %]</PhysicalCondition>
[% END -%]
[% IF data.ItemOptionalFields.DateDue -%]
<DateDue>[% data.ItemOptionalFields.DateDue | xml %]</DateDue>
[% END -%]
-[% IF data.ItemOptionalFields.ItemUseRestrictionType -%]
-<ItemUseRestrictionType>[% data.ItemOptionalFields.ItemUseRestrictionType | xml %]</ItemUseRestrictionType>
-[% END -%]
-[% IF data.ItemOptionalFields.PhysicalCondition -%]
-<PhysicalCondition>[% data.ItemOptionalFields.PhysicalCondition | xml %]</PhysicalCondition>
-[% END -%]
</ItemOptionalFields>
[% END -%]
-[% FOREACH id IN data.UserId -%]
-<UserId>
-[% IF id.UserIdentifierType -%]
-<UserIdentifierType>[% id.UserIdentifierType | xml %]</UserIdentifierType>
-[% END -%]
-[% IF id.AgencyId -%]
-<AgencyId>[% id.AgencyId %]</AgencyId>
-[% END -%]
-<UserIdentifierValue>[% id.UserIdentifierValue | xml %]</UserIdentifierValue>
-</UserId>
-[% END -%]
-[% INCLUDE "includes/UserOptionalFields.inc" -%]
+[%-
+ INCLUDE "includes/UserId.inc";
+ INCLUDE "includes/UserOptionalFields.inc"
+-%]
-[% INCLUDE "includes/CheckInItemResponse.inc" %]
-[% IF data.DateDue -%]
+[%-
+ INCLUDE "includes/ItemId.inc";
+ IF data.UserId;
+ INCLUDE "includes/UserId.inc";
+ END;
+ IF data.DateDue
+-%]
<DateDue>[% data.DateDue | xml %]</DateDue>
-[% END -%]
+[%-
+ END;
+ INCLUDE "includes/ItemOptionalFields.inc";
+ INCLUDE "includes/UserOptionalFields.inc";
+-%]
--- /dev/null
+<RequestId>
+[% IF data.RequestId.AgencyId -%]
+<AgencyId>[% data.RequestId.AgencyId | xml %]</AgencyId>
+[% END -%]
+[% IF data.RequestId.RequestIdentifierType -%]
+<RequestIdentifierType>[% data.RequestId.RequestIdentifierType | xml %]</RequestIdentifierType>
+[% END -%]
+<RequestIdentifierValue>[% data.RequestId.RequestIdentifierValue | xml %]</RequestIdentifierValue>
+</RequestId>
[% IF data.RequestId.AgencyId -%]
<AgencyId>[% data.RequestId.AgencyId | xml %]</AgencyId>
[% END -%]
-<RequestIdentifierValue>[% data.RequestId.RequestIdentifierValue | xml %]</RequestIdentifierValue>
[% IF data.RequestId.RequestIdentifierType -%]
<RequestIdentifierType>[% data.RequestId.RequestIdentifierType | xml %]</RequestIdentifierType>
[% END %]
+<RequestIdentifierValue>[% data.RequestId.RequestIdentifierValue | xml %]</RequestIdentifierValue>
</RequestId>
<UserId>
[% IF data.UserId.AgencyId -%]
<AgencyId>[% data.UserId.AgencyId | xml %]</AgencyId>
[% END -%]
-<UserIdentifierValue>[% data.UserId.UserIdentifierValue | xml %]</UserIdentifierValue>
[% IF data.UserId.UserIdentifierType -%]
<UserIdentifierType>[% data.UserId.UserIdentifierType | xml %]</UserIdentiferiType>
+<UserIdentifierValue>[% data.UserId.UserIdentifierValue | xml %]</UserIdentifierValue>
[% END -%]
</UserId>
<RequestType>[% data.RequestType | xml %]</RequestType>
<RequestScopeType>[% data.RequestScopeType | xml %]</RequestScopeType>
-[% INCLUDE "includes/UserOptionalFields.inc" -%]
[% INCLUDE "includes/ItemOptionalFields.inc" -%]
+[% INCLUDE "includes/UserOptionalFields.inc" -%]
--- /dev/null
+<UserId>
+[% IF data.UserId.AgencyId -%]
+<AgencyId>[% data.UserId.AgencyId | xml %]</AgencyId>
+[% END -%]
+[% IF data.UserId.UserIdentifierType -%]
+<UserIdentifierType>[% data.UserId.UserIdentifierType | xml %]</UserIdentiferiType>
+[% END -%]
+<UserIdentifierValue>[% data.UserId.UserIdentifierValue | xml %]</UserIdentifierValue>
+</UserId>
<NameInformation>
<PersonalNameInformation>
<StructuredPersonalUserName>
-[% IF data.UserOptionalFields.NameInformation.GivenName -%]
-<GivenName>[% data.UserOptionalFields.NameInformation.GivenName | xml %]</GivenName>
-[% END -%]
-<Surname>[% data.UserOptionalFields.NameInformation.Surname | xml %]</Surname>
[% IF data.UserOptionalFields.NameInformation.Prefix -%]
<Prefix>[% data.UserOptionalFields.NameInformation.Prefix %]</Prefix>
[% END -%]
-[% IF data.UserOptionalFields.NameInformation.Suffix -%]
-<Suffix>[% data.UserOptionalFields.NameInformation.Suffix %]</Suffix>
+[% IF data.UserOptionalFields.NameInformation.GivenName -%]
+<GivenName>[% data.UserOptionalFields.NameInformation.GivenName | xml %]</GivenName>
[% END -%]
[% IF data.UserOptionalFields.NameInformation.Initials -%]
<Initials>[% data.UserOptionalFields.NameInformation.Initials %]</Initials>
[% END -%]
+<Surname>[% data.UserOptionalFields.NameInformation.Surname | xml %]</Surname>
+[% IF data.UserOptionalFields.NameInformation.Suffix -%]
+<Suffix>[% data.UserOptionalFields.NameInformation.Suffix %]</Suffix>
+[% END -%]
</StructuredPersonalUserName>
</PersonalNameInformation>
</NameInformation>
</UserAddressInformation>
[% END -%]
[% END -%]
+[% IF data.UserOptionalFields.UserLanguage -%]
+[% FOREACH language IN data.UserOptionalFields.UserLanguage -%]
+<UserLanguage>[% language | xml %]</UserLanguage>
+[% END -%]
[% IF data.UserOptionalFields.UserPrivilege -%]
[% FOREACH privilege IN data.UserOptionalFields.UserPrivilege -%]
<UserPrivilege>
</UserPrivilege>
[% END -%]
[% END -%]
-[% IF data.UserOptionalFields.UserLanguage -%]
-[% FOREACH language IN data.UserOptionalFields.UserLanguage -%]
-<UserLanguage>[% language | xml %]</UserLanguage>
-[% END -%]
[% END -%]
[% IF data.UserOptionalFields.BlockOrTrap -%]
[% FOREACH block IN data.UserOptionalFields.BlockOrTrap -%]