Re: RFC 5733: street changes with contact:update
Seth Goldman <[email protected]> Fri, 15 Nov 2013 07:19:56 -0500
| Newsgroups | gmane.ietf.provreg |
|---|---|
| Message-ID | <CAAHh_-J8LBvyUwAcvzBNV8G-kwgDZZs+sPReHPhBxG=ZbjqGHA@mail.gmail.com> |
On Fri, Nov 15, 2013 at 6:46 AM, Hollenbeck, Scott <[email protected] > wrote: > > -----Original Message----- > > From: Klaus Malorny [mailto:[email protected]] > > Sent: Friday, November 15, 2013 4:01 AM > > To: Hollenbeck, Scott; Seth Goldman > > Cc: IETF Provreg Mailing List > > Subject: Re: [provreg] RFC 5733: street changes with contact:update > > > > On 14.11.2013 19:48, Hollenbeck, Scott wrote: > > > I don’t know how one can make a case that sub-element replacement is > > acceptable. > > > Section 3.2.5 of RFC 5733 says this (emphasis mine): > > > > > > “The EPP <update> command provides a transform operation that allows > > a client to > > > modify the attributes of a contact _/object/_.” > > > > > > and this: > > > > > > “An OPTIONAL <contact:chg> element that contains _/object attribute > > values to be > > > changed/_.” > > > > > > The <update> is thus focused on _/changing/_ the attributes of the > > _/object/_. > > > In the example Klaus provided, the command received is “replace the > > existing > > > <contact:postalInfo> attribute with a new instance of > > <contact:postalInfo>”. The > > > server failed to replace the two <street> elements with the single > > element > > > provided in the <update>. It shouldn’t work that way. > > > > > > Scott > > > > > > > Hi Scot, Seth, > > > > up to now I regarded the name, the organization and the the whole > > address block > > as the replacable units, derived from the associated XML schema. It > > namely > > contains two datatypes, "postalInfoType" for the create command and > > "chgPostalInfoType" for the update command. The first contains the > > <name> and > > <addr> elements as mandatory elements, the latter contains them as > > optional > > elements. If one would consider the postalInfo itself as the replacable > > unit, it > > would not make sense to enforce the name and address on <create>, but > > would > > allow to remove them with a following <update> request. > > > > So simply asked: What does the following schema-wise legal request do? > > > > <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> > > <contact:id>C20131114-01</contact:id> > > <contact:chg> > > <contact:postalInfo type="int"/> > > </contact:chg> > > </contact:update> > > > > Does it clear the international contact? Does it leave the > > international postal > > data simply unchanged (aside from being illegal in Scot's view to > > submit a > > command that is effectively non-modifying). Does the following command > > Go back to what I was trying to say yesterday: <chg> means "replace > existing with new". So yes, it would change the international postal info > to "empty". > > > <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> > > <contact:id>C20131114-01</contact:id> > > <contact:chg> > > <contact:postalInfo type="int"> > > <contact:org>ACME Solutions</contact:org> > > </contact:postalInfo> > > </contact:chg> > > </contact:update> > > > > modify the postal info so that it *solely* contains the organization > > and nothing > > else afterwards? > > Assuming all other schema requirements are met, yes. > I believe Klaus's point is that under this interpretation, the schema allows you to update a postalInfo to a version that would not be allowed in a create. I still think your interpretation of the replace semantics is correct. But the schema is inconsistent, so it's understandable to interpret it otherwise. > > Scott > _______________________________________________ > provreg mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/provreg > _______________________________________________ provreg mailing list [email protected] https://www.ietf.org/mailman/listinfo/provreg