Good Afternoon, During our process of creating this draft we iterated through several possible solutions and the solution we eventually published<https://datatracker.ietf.org/doc/draft-carney-regext-validate/> was mostly to mitigate any concerns of "over loading" the <check> command with more processing.
After several discussions with Registries over the past couple months we have confirmed that there is no or very little concern over the use of the <check> command for the Validate extension. So prior to updating the Validate draft I wanted to get some feedback from the group on which proposed solution is more desirable, the currently published draft<https://datatracker.ietf.org/doc/draft-carney-regext-validate/> or using the <check> command with the Validate extension like below. Thanks Roger Validate Check Command: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:validate="urn:ietf:params:xml:ns:validate-0.1" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"> <command> <check> <validate:check> <validate:contact contactType="registrant" tld="COM"> <validate:cd> <validate:id>sh8013</validate:id> <validate:postalInfo type="int"> <contact:name>John Doe</contact:name> <contact:org>Example Inc.</contact:org> <contact:addr> <contact:street>123 Example Dr.</contact:street> <contact:street>Suite 100</contact:street> <contact:city>Dulles</contact:city> <contact:sp>VA</contact:sp> <contact:pc>20166-6503</contact:pc> <contact:cc>US</contact:cc> </contact:addr> </validate:postalInfo> <validate:voice>+1.7035555555</validate:voice> <validate:fax>+1.7035555556</validate:fax> <validate:email>j...@example.com</validate:email> <validate:authInfo> <contact:pw>2fooBAR</contact:pw> </validate:authInfo> <validate:disclose flag="0"> <contact:voice/> <contact:email/> </validate:disclose> </validate:cd> <validate:kv key="VAT" value="1234567890"/> </validate:contact> <validate:contact contactType="tech" tld="COM"> <validate:cd> <validate:id>sh8013</validate:id> </validate:cd> </validate:contact> <validate:contact contactType="admin" tld="COM"> <validate:cd> <validate:id>sh8014</validate:id> <validate:postalInfo type="int"> <contact:name>John Doe</contact:name> <contact:org>Example Inc.</contact:org> <contact:addr> <contact:street>123 Example Dr.</contact:street> <contact:street>Suite 100</contact:street> <contact:city>Dulles</contact:city> <contact:sp>VA</contact:sp> <contact:pc>20166-6503</contact:pc> <contact:cc>US</contact:cc> </contact:addr> </validate:postalInfo> <validate:voice>+1.7035555555</validate:voice> <validate:fax>+1.7035555556</validate:fax> <validate:email>j...@example.com</validate:email> <validate:authInfo> <contact:pw>2fooBAR</contact:pw> </validate:authInfo> <validate:disclose flag="0"> <contact:voice/> <contact:email/> </validate:disclose> </validate:cd> </validate:contact> <validate:contact contactType="billing" tld="COM"> <validate:cd> <validate:id>sh8014</validate:id> </validate:cd> </validate:contact> </validate:check> </check> <clTRID>ABC-12345</clTRID> </command> </epp> Validate Check Response: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <validate:chkData xmlns:validate="urn:ietf:params:xml:ns:validate-0.1"> <validate:cd> <validate:id>sh8013</validate:id> <validate:response>1000</validate:response> </validate:cd> <validate:cd> <validate:id>sh8014</validate:id> <validate:response>2306</validate:response> <validate:kv key="contact:city" value="City not valid for state."/> <validate:kv contactType="Admin" key="contact:cc" value="Invalid country code for admin, must be mx."/> <validate:kv contactType="Billing" key="VAT" value="VAT required for Billing contact."/> </validate:cd> </validate:chkData> </resData> <trID> <clTRID>ABC-12345</clTRID> <svTRID>54321-ZYX</svTRID> </trID> </response> </epp> <?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="urn:ietf:params:xml:ns:validate-0.1" xmlns:validate="urn:ietf:params:xml:ns:validate-0.1" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <annotation> <documentation> Extensible Provisioning Protocol v1.0 Validate Object Extension </documentation> </annotation> <!-- Import common element types. --> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:contact-1.0" schemaLocation="contact-1.0.xsd"/> <!-- Child elements of the <check> command. --> <element name="check" type="validate:checkType"/> <complexType name="checkType"> <sequence> <element name="contact" type="validate:validateContactType" maxOccurs="unbounded" /> </sequence> </complexType> <complexType name="validateContactType"> <sequence> <element name="cd" type="validate:checkDataType"/> <element name="kv" type="validate:kvType" minOccurs="0" maxOccurs="unbounded" /> </sequence> <attribute name="contactType" type="eppcom:labelType" use="required"/> <attribute name="tld" type="eppcom:labelType" use="required"/> </complexType> <complexType name="checkDataType"> <sequence> <element name="id" type="eppcom:clIDType" /> <element name="postalInfo" type="contact:postalInfoType" minOccurs="0" maxOccurs="2" /> <element name="voice" type="contact:e164Type" minOccurs="0" /> <element name="fax" type="contact:e164Type" minOccurs="0" /> <element name="email" type="eppcom:minTokenType" minOccurs="0"/> <element name="authInfo" type="contact:authInfoType" minOccurs="0"/> <element name="disclose" type="contact:discloseType" minOccurs="0" /> </sequence> </complexType> <complexType name="kvType"> <attribute name="contactType" type="eppcom:labelType" use="optional" /> <attribute name="key" type="validate:keyType" use="required" /> <attribute name="value" type="validate:valueType" use="required" /> </complexType> <simpleType name="keyType"> <restriction base="token"> <minLength value="1" /> </restriction> </simpleType> <simpleType name="valueType"> <restriction base="token"> <minLength value="0" /> </restriction> </simpleType> <!-- Child elements of the <check> response. --> <element name="chkData" type="validate:chkDataType" /> <complexType name="chkDataType"> <sequence> <element name="cd" type="validate:resCreateDataType" maxOccurs="unbounded" /> </sequence> </complexType> <complexType name="resCreateDataType"> <sequence> <element name="id" type="eppcom:clIDType" /> <element name="response" type="epp:resultCodeType" /> <element name="kv" type="validate:kvType" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> </schema>
_______________________________________________ regext mailing list regext@ietf.org https://www.ietf.org/mailman/listinfo/regext