Two-step deposits and Crossmark metadata

The documentation, Updating your metadata - Crossref , mentions that to update the Crossmark metadata (any of its fields, I guess?) we need to make two-step deposits. But I’m curious as to why this is so. Is it some technical thing related to the inner workings of Crossref? I’d appreciate if someone knowledgeable could answer a few questions in this regard.

  1. Is two-step deposit a hard restriction that must always be followed? What happens if we forget about two-step deposits and upload a full-record XML with the Crossmark metadata that is different from that in the initial deposit? Will this result in an error? Or will the old Crossmark just not be overwritten by the new data?
  2. Is this restriction also relevant to the partial metadata upload via XML such as best-practice-examples/resource_crossmark_5.4.0.xml · master · crossref / Schema · GitLab (by the way, the “sample xml” link on this page Participating in Crossmark - Crossref is dead because it leads to the file with schema 4.8, which no longer exists)? Or the Crossmark-only-XMLs can override the old Crossmark records without two-stage depositing?
  3. In other words, can the Crossmark-only-XML deposits be used to update the Crossmark, or only to add the Crossmark data to the records that don’t have any previous Crossmark data?
  4. We have a lame XML generator that produces Crossmark-less Crossref XMLs. To participate in Crossmark, we can make a separate lame XML generator function that would make Crossmark-only-XMLs. Now, we’ll have to upload Crossref XML and then Crossmark-only XML to register all the data. But what happens when we need to update the old record? Will uploading the Crossmark-less Crossref XML delete the existing Crossmark data associated with the record? Will we also have to redeposit the Crossmark-only XML for the updated record?