Re: RFC 5733: street changes with contact:update
James Mitchell <[email protected]> Fri, 15 Nov 2013 12:43:38 +0000
| Newsgroups | gmane.ietf.provreg |
|---|---|
| Message-ID | <CEAC5D2B.1462B%[email protected]> |
Seth et al, The info response would be invalid for contacts having a <postalInfo> with only an <org>. IMO the correct interpretation is that the command changes/modifies only the elements specified, however I’m not sure how one would interpret <chg><postalInfo type="int"><addr><street>A lane</street></addr></postalInfo></chg> - replace the “first” street element or all street elements? FYI, for backwards compatibility our implementation performs a remove/replace for the direct children of the <chg> element only. The following examples hopefully illustrate the behaviour. <chg><postalInfo type="loc"/><chg> -> remove the localised postal info <chg><postalInfo type="int"><org>ACME</org></postalInfo><chg> -> fail, missing required values <chg><postalInfo type="int"><name>ACME</name><addr><city>Melbourne</city><cc>AU</cc></addr></postalInfo><chg> -> success, previous int postal info replaced Regards, James Mitchell Software Product Manager / ARI Registry Services From: Seth Goldman <[email protected]<mailto:[email protected]>> Date: Friday, 15 November 2013 11:19 pm To: "Hollenbeck, Scott" <[email protected]<mailto:[email protected]>> Cc: IETF Provreg Mailing List <[email protected]<mailto:[email protected]>> Subject: Re: [provreg] RFC 5733: street changes with contact:update On Fri, Nov 15, 2013 at 6:46 AM, Hollenbeck, Scott <[email protected]<mailto:[email protected]>> wrote: > -----Original Message----- > From: Klaus Malorny [mailto:[email protected]<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]<mailto:[email protected]> https://www.ietf.org/mailman/listinfo/provreg _______________________________________________ provreg mailing list [email protected] https://www.ietf.org/mailman/listinfo/provreg