mirror of
https://github.com/internetee/registry.git
synced 2025-07-05 18:53:26 +02:00
commit
3834af4e59
28 changed files with 2770 additions and 1558 deletions
|
@ -35,7 +35,7 @@ module Repp
|
||||||
error! I18n.t('errors.messages.epp_authorization_error'), 401 unless domain.auth_info.eql? request.headers['Auth-Code']
|
error! I18n.t('errors.messages.epp_authorization_error'), 401 unless domain.auth_info.eql? request.headers['Auth-Code']
|
||||||
|
|
||||||
contact_repp_json = proc{|contact|
|
contact_repp_json = proc{|contact|
|
||||||
contact.attributes.slice("code", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses")
|
contact.attributes.slice("code", "name", "ident", "ident_type", "ident_country_code", "phone", "email", "street", "city", "zip","country_code", "statuses")
|
||||||
}
|
}
|
||||||
|
|
||||||
@response = {
|
@response = {
|
||||||
|
|
|
@ -6,12 +6,13 @@ class Admin::DomainVersionsController < AdminController
|
||||||
@domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first
|
@domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first
|
||||||
@versions = @domain.versions
|
@versions = @domain.versions
|
||||||
|
|
||||||
if @domain.pending_json.present?
|
# Depricated it had to load legal document. We may do it by parsing and adding link.
|
||||||
frame = Nokogiri::XML(@domain.pending_json['frame'])
|
# if @domain.pending_json.present?
|
||||||
@pending_user = User.find(@domain.pending_json['current_user_id'])
|
# frame = Nokogiri::XML(@domain.pending_json['frame'])
|
||||||
@pending_domain = Epp::Domain.find(@domain.id)
|
# @pending_user = User.find(@domain.pending_json['current_user_id'])
|
||||||
@pending_domain.update(frame, @pending_user, false)
|
# @pending_domain = Epp::Domain.find(@domain.id)
|
||||||
end
|
# @pending_domain.update(frame, @pending_user, false)
|
||||||
|
# end
|
||||||
end
|
end
|
||||||
# rubocop:enable Style/GuardClause
|
# rubocop:enable Style/GuardClause
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,7 +9,7 @@ class Admin::PendingUpdatesController < AdminController
|
||||||
if @epp_domain.apply_pending_update!
|
if @epp_domain.apply_pending_update!
|
||||||
redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied)
|
redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied)
|
||||||
else
|
else
|
||||||
redirect_to admin_edit_domain_path(@domain.id), alert: t(:failure)
|
redirect_to edit_admin_domain_path(@domain.id), alert: t(:failure)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -73,10 +73,7 @@ class EppController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def schema
|
def schema
|
||||||
# TODO: Support multiple schemas
|
EPP_ALL_SCHEMA
|
||||||
return DOMAIN_SCHEMA if params[:epp_object_type] == :domain
|
|
||||||
return CONTACT_SCHEMA if params[:epp_object_type] == :contact
|
|
||||||
EPP_SCHEMA
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_svtrid
|
def generate_svtrid
|
||||||
|
|
|
@ -30,6 +30,7 @@ class Contact < ActiveRecord::Base
|
||||||
length: { maximum: 100, message: :too_long_contact_code }
|
length: { maximum: 100, message: :too_long_contact_code }
|
||||||
validate :ident_valid_format?
|
validate :ident_valid_format?
|
||||||
validate :uniq_statuses?
|
validate :uniq_statuses?
|
||||||
|
validate :validate_html
|
||||||
|
|
||||||
after_initialize do
|
after_initialize do
|
||||||
self.statuses = [] if statuses.nil?
|
self.statuses = [] if statuses.nil?
|
||||||
|
@ -221,6 +222,19 @@ class Contact < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def validate_html
|
||||||
|
self.class.columns.each do |column|
|
||||||
|
next unless column.type == :string
|
||||||
|
|
||||||
|
c_name = column.name
|
||||||
|
val = read_attribute(c_name)
|
||||||
|
if val && (val.include?('<') || val.include?('>') || val.include?('%3C') || val.include?('%3E'))
|
||||||
|
errors.add(c_name, :invalid)
|
||||||
|
return # want to run code faster
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def uniq_statuses?
|
def uniq_statuses?
|
||||||
return true unless statuses.detect { |s| statuses.count(s) > 1 }
|
return true unless statuses.detect { |s| statuses.count(s) > 1 }
|
||||||
errors.add(:statuses, :not_uniq)
|
errors.add(:statuses, :not_uniq)
|
||||||
|
|
|
@ -590,7 +590,7 @@ class Domain < ActiveRecord::Base
|
||||||
def pending_registrant
|
def pending_registrant
|
||||||
return '' if pending_json.blank?
|
return '' if pending_json.blank?
|
||||||
return '' if pending_json['new_registrant_id'].blank?
|
return '' if pending_json['new_registrant_id'].blank?
|
||||||
Registrant.find_by(id: pending_json['new_registrant_id'].last)
|
Registrant.find_by(id: pending_json['new_registrant_id'])
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_auth_info
|
def generate_auth_info
|
||||||
|
|
|
@ -21,7 +21,7 @@ class Epp::Contact < Contact
|
||||||
# rubocop: disable Metrics/PerceivedComplexity
|
# rubocop: disable Metrics/PerceivedComplexity
|
||||||
# rubocop: disable Metrics/CyclomaticComplexity
|
# rubocop: disable Metrics/CyclomaticComplexity
|
||||||
# rubocop: disable Metrics/AbcSize
|
# rubocop: disable Metrics/AbcSize
|
||||||
def attrs_from(frame)
|
def attrs_from(frame, new_record: false)
|
||||||
f = frame
|
f = frame
|
||||||
at = {}.with_indifferent_access
|
at = {}.with_indifferent_access
|
||||||
at[:name] = f.css('postalInfo name').text if f.css('postalInfo name').present?
|
at[:name] = f.css('postalInfo name').text if f.css('postalInfo name').present?
|
||||||
|
@ -40,7 +40,7 @@ class Epp::Contact < Contact
|
||||||
if legal_frame.present?
|
if legal_frame.present?
|
||||||
at[:legal_documents_attributes] = legal_document_attrs(legal_frame)
|
at[:legal_documents_attributes] = legal_document_attrs(legal_frame)
|
||||||
end
|
end
|
||||||
at.merge!(ident_attrs(f.css('ident').first))
|
at.merge!(ident_attrs(f.css('ident').first)) if new_record
|
||||||
at
|
at
|
||||||
end
|
end
|
||||||
# rubocop: enable Metrics/PerceivedComplexity
|
# rubocop: enable Metrics/PerceivedComplexity
|
||||||
|
@ -51,7 +51,7 @@ class Epp::Contact < Contact
|
||||||
return super if frame.blank?
|
return super if frame.blank?
|
||||||
|
|
||||||
super(
|
super(
|
||||||
attrs_from(frame).merge(
|
attrs_from(frame, new_record: true).merge(
|
||||||
code: frame.css('id').text,
|
code: frame.css('id').text,
|
||||||
registrar: registrar
|
registrar: registrar
|
||||||
)
|
)
|
||||||
|
@ -59,10 +59,7 @@ class Epp::Contact < Contact
|
||||||
end
|
end
|
||||||
|
|
||||||
def ident_attrs(ident_frame)
|
def ident_attrs(ident_frame)
|
||||||
return {} if ident_frame.blank?
|
return {} unless ident_attr_valid?(ident_frame)
|
||||||
return {} if ident_frame.try('text').blank?
|
|
||||||
return {} if ident_frame.attr('type').blank?
|
|
||||||
return {} if ident_frame.attr('cc').blank?
|
|
||||||
|
|
||||||
{
|
{
|
||||||
ident: ident_frame.text,
|
ident: ident_frame.text,
|
||||||
|
@ -71,6 +68,15 @@ class Epp::Contact < Contact
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ident_attr_valid?(ident_frame)
|
||||||
|
return false if ident_frame.blank?
|
||||||
|
return false if ident_frame.try('text').blank?
|
||||||
|
return false if ident_frame.attr('type').blank?
|
||||||
|
return false if ident_frame.attr('cc').blank?
|
||||||
|
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
def legal_document_attrs(legal_frame)
|
def legal_document_attrs(legal_frame)
|
||||||
return [] if legal_frame.blank?
|
return [] if legal_frame.blank?
|
||||||
return [] if legal_frame.try('text').blank?
|
return [] if legal_frame.try('text').blank?
|
||||||
|
@ -137,7 +143,7 @@ class Epp::Contact < Contact
|
||||||
def update_attributes(frame)
|
def update_attributes(frame)
|
||||||
return super if frame.blank?
|
return super if frame.blank?
|
||||||
at = {}.with_indifferent_access
|
at = {}.with_indifferent_access
|
||||||
at.deep_merge!(self.class.attrs_from(frame.css('chg')))
|
at.deep_merge!(self.class.attrs_from(frame.css('chg'), new_record: false))
|
||||||
|
|
||||||
if Setting.client_status_editing_enabled
|
if Setting.client_status_editing_enabled
|
||||||
at[:statuses] = statuses - statuses_attrs(frame.css('rem'), 'rem') + statuses_attrs(frame.css('add'), 'add')
|
at[:statuses] = statuses - statuses_attrs(frame.css('rem'), 'rem') + statuses_attrs(frame.css('add'), 'add')
|
||||||
|
@ -147,17 +153,26 @@ class Epp::Contact < Contact
|
||||||
at[:legal_documents_attributes] = self.class.legal_document_attrs(legal_frame)
|
at[:legal_documents_attributes] = self.class.legal_document_attrs(legal_frame)
|
||||||
self.deliver_emails = true # turn on email delivery for epp
|
self.deliver_emails = true # turn on email delivery for epp
|
||||||
|
|
||||||
|
|
||||||
# allow to update ident code for legacy contacts
|
# allow to update ident code for legacy contacts
|
||||||
if frame.css('ident').first.present?
|
if frame.css('ident').first
|
||||||
if ident_updated_at.present?
|
self.ident_updated_at ||= Time.zone.now # not in use
|
||||||
throw :epp_error, {
|
ident_frame = frame.css('ident').first
|
||||||
code: '2306',
|
|
||||||
msg: I18n.t(:ident_update_error)
|
if ident_frame && ident_attr_valid?(ident_frame) && ident_country_code.blank? && ident_type.in?(%w(org priv).freeze)
|
||||||
}
|
at.merge!(ident_country_code: ident_frame.attr('cc'))
|
||||||
else
|
|
||||||
at.merge!(self.class.ident_attrs(frame.css('ident').first))
|
|
||||||
self.ident_updated_at = Time.zone.now
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Deprecated
|
||||||
|
# if ident_updated_at.present?
|
||||||
|
# throw :epp_error, {
|
||||||
|
# code: '2306',
|
||||||
|
# msg: I18n.t(:ident_update_error)
|
||||||
|
# }
|
||||||
|
# else
|
||||||
|
# at.merge!(self.class.ident_attrs(frame.css('ident').first))
|
||||||
|
# self.ident_updated_at = Time.zone.now
|
||||||
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
super(at)
|
super(at)
|
||||||
|
|
|
@ -515,9 +515,8 @@ class Epp::Domain < Domain
|
||||||
statuses.delete(DomainStatus::PENDING_DELETE_CONFIRMATION)
|
statuses.delete(DomainStatus::PENDING_DELETE_CONFIRMATION)
|
||||||
statuses.delete(DomainStatus::PENDING_DELETE)
|
statuses.delete(DomainStatus::PENDING_DELETE)
|
||||||
DomainMailer.delete_confirmation(id, deliver_emails).deliver
|
DomainMailer.delete_confirmation(id, deliver_emails).deliver
|
||||||
|
clean_pendings!
|
||||||
# TODO: confirm that this actually makes sense
|
set_pending_delete!
|
||||||
clean_pendings! if valid? && set_pending_delete!
|
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -843,6 +842,7 @@ class Epp::Domain < Domain
|
||||||
def parse_legal_document_from_frame(parsed_frame)
|
def parse_legal_document_from_frame(parsed_frame)
|
||||||
ld = parsed_frame.css('legalDocument').first
|
ld = parsed_frame.css('legalDocument').first
|
||||||
return nil unless ld
|
return nil unless ld
|
||||||
|
return nil if ld.text.starts_with?(ENV['legal_documents_dir']) # escape reloading
|
||||||
|
|
||||||
{
|
{
|
||||||
body: ld.text,
|
body: ld.text,
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
EPP_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/epp-1.0.xsd"))
|
EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/all-ee-1.0.xsd"))
|
||||||
DOMAIN_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/domain-eis-1.0.xsd"))
|
|
||||||
CONTACT_SCHEMA = Nokogiri::XML::Schema(File.read("lib/schemas/contact-eis-1.0.xsd"))
|
|
||||||
|
|
168
db/migrate/20151127091716_restore_ttl_to_zonefile2.rb
Normal file
168
db/migrate/20151127091716_restore_ttl_to_zonefile2.rb
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
class RestoreTtlToZonefile2 < ActiveRecord::Migration
|
||||||
|
# rubocop:disable Metrics/MethodLength
|
||||||
|
def up
|
||||||
|
execute <<-SQL
|
||||||
|
CREATE OR REPLACE FUNCTION generate_zonefile(i_origin varchar)
|
||||||
|
RETURNS text AS $$
|
||||||
|
DECLARE
|
||||||
|
zone_header text := concat('$ORIGIN ', i_origin, '.');
|
||||||
|
serial_num varchar;
|
||||||
|
include_filter varchar := '';
|
||||||
|
exclude_filter varchar := '';
|
||||||
|
tmp_var text;
|
||||||
|
ret text;
|
||||||
|
BEGIN
|
||||||
|
-- define filters
|
||||||
|
include_filter = '%' || i_origin;
|
||||||
|
|
||||||
|
-- for %.%.%
|
||||||
|
IF i_origin ~ '\\.' THEN
|
||||||
|
exclude_filter := '';
|
||||||
|
-- for %.%
|
||||||
|
ELSE
|
||||||
|
exclude_filter := '%.%.' || i_origin;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT ROUND(extract(epoch from now() at time zone 'utc')) INTO serial_num;
|
||||||
|
|
||||||
|
-- zonefile header
|
||||||
|
SELECT concat(
|
||||||
|
format('%-10s', '$ORIGIN .'), chr(10),
|
||||||
|
format('%-10s', '$TTL'), zf.ttl, chr(10), chr(10),
|
||||||
|
format('%-10s', i_origin || '.'), 'IN SOA ', zf.master_nameserver, '. ', zf.email, '. (', chr(10),
|
||||||
|
format('%-17s', ''), format('%-12s', serial_num), '; serial number', chr(10),
|
||||||
|
format('%-17s', ''), format('%-12s', zf.refresh), '; refresh, seconds', chr(10),
|
||||||
|
format('%-17s', ''), format('%-12s', zf.retry), '; retry, seconds', chr(10),
|
||||||
|
format('%-17s', ''), format('%-12s', zf.expire), '; expire, seconds', chr(10),
|
||||||
|
format('%-17s', ''), format('%-12s', zf.minimum_ttl), '; minimum TTL, seconds', chr(10),
|
||||||
|
format('%-17s', ''), ')'
|
||||||
|
) FROM zonefile_settings zf WHERE i_origin = zf.origin INTO tmp_var;
|
||||||
|
|
||||||
|
ret = concat(tmp_var, chr(10), chr(10));
|
||||||
|
|
||||||
|
-- ns records
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(d.name_puny, '. IN NS ', ns.hostname, '.')
|
||||||
|
FROM domains d
|
||||||
|
JOIN nameservers ns ON ns.domain_id = d.id
|
||||||
|
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
|
||||||
|
ORDER BY d.name
|
||||||
|
),
|
||||||
|
chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
ret := concat(ret, '; Zone NS Records', chr(10), tmp_var, chr(10), chr(10));
|
||||||
|
|
||||||
|
-- a glue records for origin nameservers
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(ns.hostname, '. IN A ', ns.ipv4)
|
||||||
|
FROM nameservers ns
|
||||||
|
JOIN domains d ON d.id = ns.domain_id
|
||||||
|
WHERE d.name = i_origin
|
||||||
|
AND ns.hostname LIKE '%.' || d.name
|
||||||
|
AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> ''
|
||||||
|
), chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
ret := concat(ret, '; Zone A Records', chr(10), tmp_var);
|
||||||
|
|
||||||
|
-- a glue records for other nameservers
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(ns.hostname, '. IN A ', ns.ipv4)
|
||||||
|
FROM nameservers ns
|
||||||
|
JOIN domains d ON d.id = ns.domain_id
|
||||||
|
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
|
||||||
|
AND ns.hostname LIKE '%.' || d.name
|
||||||
|
AND d.name <> i_origin
|
||||||
|
AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> ''
|
||||||
|
AND NOT EXISTS ( -- filter out glue records that already appeared in origin glue recrods
|
||||||
|
SELECT 1 FROM nameservers nsi
|
||||||
|
JOIN domains di ON nsi.domain_id = di.id
|
||||||
|
WHERE di.name = i_origin
|
||||||
|
AND nsi.hostname = ns.hostname
|
||||||
|
)
|
||||||
|
), chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
-- TODO This is a possible subtitition to the previous query, stress testing is needed to see which is faster
|
||||||
|
|
||||||
|
-- SELECT ns.*
|
||||||
|
-- FROM nameservers ns
|
||||||
|
-- JOIN domains d ON d.id = ns.domain_id
|
||||||
|
-- WHERE d.name LIKE '%ee' AND d.name NOT LIKE '%pri.ee'
|
||||||
|
-- AND ns.hostname LIKE '%.' || d.name
|
||||||
|
-- AND d.name <> 'ee'
|
||||||
|
-- AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> ''
|
||||||
|
-- AND ns.hostname NOT IN (
|
||||||
|
-- SELECT ns.hostname FROM domains d JOIN nameservers ns ON d.id = ns.domain_id WHERE d.name = 'ee'
|
||||||
|
-- )
|
||||||
|
|
||||||
|
ret := concat(ret, chr(10), tmp_var, chr(10), chr(10));
|
||||||
|
|
||||||
|
-- aaaa glue records for origin nameservers
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(ns.hostname, '. IN AAAA ', ns.ipv6)
|
||||||
|
FROM nameservers ns
|
||||||
|
JOIN domains d ON d.id = ns.domain_id
|
||||||
|
WHERE d.name = i_origin
|
||||||
|
AND ns.hostname LIKE '%.' || d.name
|
||||||
|
AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> ''
|
||||||
|
), chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
ret := concat(ret, '; Zone AAAA Records', chr(10), tmp_var);
|
||||||
|
|
||||||
|
-- aaaa glue records for other nameservers
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(ns.hostname, '. IN AAAA ', ns.ipv6)
|
||||||
|
FROM nameservers ns
|
||||||
|
JOIN domains d ON d.id = ns.domain_id
|
||||||
|
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
|
||||||
|
AND ns.hostname LIKE '%.' || d.name
|
||||||
|
AND d.name <> i_origin
|
||||||
|
AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> ''
|
||||||
|
AND NOT EXISTS ( -- filter out glue records that already appeared in origin glue recrods
|
||||||
|
SELECT 1 FROM nameservers nsi
|
||||||
|
JOIN domains di ON nsi.domain_id = di.id
|
||||||
|
WHERE di.name = i_origin
|
||||||
|
AND nsi.hostname = ns.hostname
|
||||||
|
)
|
||||||
|
), chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
ret := concat(ret, chr(10), tmp_var, chr(10), chr(10));
|
||||||
|
|
||||||
|
-- ds records
|
||||||
|
SELECT array_to_string(
|
||||||
|
array(
|
||||||
|
SELECT concat(
|
||||||
|
d.name_puny, '. 3600 IN DS ', dk.ds_key_tag, ' ',
|
||||||
|
dk.ds_alg, ' ', dk.ds_digest_type, ' ', dk.ds_digest
|
||||||
|
)
|
||||||
|
FROM domains d
|
||||||
|
JOIN dnskeys dk ON dk.domain_id = d.id
|
||||||
|
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
|
||||||
|
),
|
||||||
|
chr(10)
|
||||||
|
) INTO tmp_var;
|
||||||
|
|
||||||
|
ret := concat(ret, '; Zone DS Records', chr(10), tmp_var, chr(10));
|
||||||
|
|
||||||
|
RETURN ret;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
LANGUAGE plpgsql;
|
||||||
|
SQL
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
execute <<-SQL
|
||||||
|
DROP FUNCTION generate_zonefile(i_origin varchar);
|
||||||
|
SQL
|
||||||
|
end
|
||||||
|
end
|
|
@ -131,6 +131,8 @@ Content-Type: application/json
|
||||||
"domain":"ee-test.ee",
|
"domain":"ee-test.ee",
|
||||||
"registrant":{
|
"registrant":{
|
||||||
"code":"EE:R1",
|
"code":"EE:R1",
|
||||||
|
"name":"Registrant",
|
||||||
|
"ident":"17612535",
|
||||||
"ident_type":"org",
|
"ident_type":"org",
|
||||||
"ident_country_code":"EE",
|
"ident_country_code":"EE",
|
||||||
"phone":"+372.1234567",
|
"phone":"+372.1234567",
|
||||||
|
@ -147,6 +149,8 @@ Content-Type: application/json
|
||||||
"admin_contacts":[
|
"admin_contacts":[
|
||||||
{
|
{
|
||||||
"code":"EE:A1",
|
"code":"EE:A1",
|
||||||
|
"name":"Admin Contact",
|
||||||
|
"ident":"17612535376",
|
||||||
"ident_type":"priv",
|
"ident_type":"priv",
|
||||||
"ident_country_code":"EE",
|
"ident_country_code":"EE",
|
||||||
"phone":"+372.7654321",
|
"phone":"+372.7654321",
|
||||||
|
@ -164,6 +168,8 @@ Content-Type: application/json
|
||||||
"tech_contacts":[
|
"tech_contacts":[
|
||||||
{
|
{
|
||||||
"code":"EE:T1",
|
"code":"EE:T1",
|
||||||
|
"name":"Tech Contact",
|
||||||
|
"ident":"17612536",
|
||||||
"ident_type":"org",
|
"ident_type":"org",
|
||||||
"ident_country_code":"EE",
|
"ident_country_code":"EE",
|
||||||
"phone":"+372.7654321",
|
"phone":"+372.7654321",
|
||||||
|
|
|
@ -22,7 +22,10 @@
|
||||||
schemaLocation="epp-1.0.xsd"/>
|
schemaLocation="epp-1.0.xsd"/>
|
||||||
<!-- EPP protocol extension: DNSSEC -->
|
<!-- EPP protocol extension: DNSSEC -->
|
||||||
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
schemaLocation="secNDS-1.1.xsd"/>
|
schemaLocation="secDNS-1.1.xsd"/>
|
||||||
|
<!-- EPP protocol extension: DNSSEC keyrelay -->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
schemaLocation="keyrelay-1.0.xsd"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:host-1.0"
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"
|
||||||
schemaLocation="host-1.0.xsd"/>
|
schemaLocation="host-1.0.xsd"/>
|
||||||
<!-- EPP protocol extension: .ee specific -->
|
<!-- EPP protocol extension: .ee specific -->
|
||||||
|
|
|
@ -1,447 +1,458 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<schema targetNamespace="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
<schema targetNamespace="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
||||||
xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
||||||
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Import common element types.
|
Import common element types.
|
||||||
-->
|
-->
|
||||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:host-1.0"/>
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
|
||||||
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd"/>
|
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd"/>
|
||||||
|
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Extensible Provisioning Protocol v1.0
|
Extensible Provisioning Protocol v1.0
|
||||||
domain provisioning schema.
|
domain provisioning schema.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements found in EPP commands.
|
Child elements found in EPP commands.
|
||||||
-->
|
-->
|
||||||
<element name="check" type="domain:mNameType"/>
|
<element name="check" type="domain:mNameType"/>
|
||||||
<element name="create" type="domain:createType"/>
|
<element name="create" type="domain:createType"/>
|
||||||
<element name="delete" type="domain:sNameType"/>
|
<element name="delete" type="domain:deleteType"/>
|
||||||
<element name="info" type="domain:infoType"/>
|
<element name="info" type="domain:infoType"/>
|
||||||
<element name="renew" type="domain:renewType"/>
|
<element name="renew" type="domain:renewType"/>
|
||||||
<element name="transfer" type="domain:transferType"/>
|
<element name="transfer" type="domain:transferType"/>
|
||||||
<element name="update" type="domain:updateType"/>
|
<element name="update" type="domain:updateType"/>
|
||||||
<!--
|
|
||||||
Child elements of the <create> command.
|
|
||||||
-->
|
|
||||||
<complexType name="createType">
|
|
||||||
<sequence>
|
|
||||||
<element name="name" type="eppcom:labelType"/>
|
|
||||||
<element name="period" type="domain:periodType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="ns" type="domain:nsType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="registrant" type="eppcom:clIDType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="contact" type="domain:contactType"
|
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
|
||||||
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="periodType">
|
<!--
|
||||||
<simpleContent>
|
Child elements of the <create> command.
|
||||||
<extension base="domain:pLimitType">
|
-->
|
||||||
<attribute name="unit" type="domain:pUnitType"
|
<complexType name="createType">
|
||||||
use="required"/>
|
<sequence>
|
||||||
</extension>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</simpleContent>
|
<element name="period" type="domain:periodType"
|
||||||
</complexType>
|
minOccurs="0"/>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pLimitType">
|
<complexType name="periodType">
|
||||||
<restriction base="unsignedShort">
|
<simpleContent>
|
||||||
<minInclusive value="1"/>
|
<extension base="domain:pLimitType">
|
||||||
<maxInclusive value="1095"/>
|
<attribute name="unit" type="domain:pUnitType"
|
||||||
</restriction>
|
use="required"/>
|
||||||
</simpleType>
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pUnitType">
|
<simpleType name="pLimitType">
|
||||||
<restriction base="token">
|
<restriction base="unsignedShort">
|
||||||
<enumeration value="y"/>
|
<minInclusive value="1"/>
|
||||||
<enumeration value="m"/>
|
<maxInclusive value="1095"/>
|
||||||
<enumeration value="d"/>
|
</restriction>
|
||||||
</restriction>
|
</simpleType>
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<complexType name="nsType">
|
<simpleType name="pUnitType">
|
||||||
<choice>
|
<restriction base="token">
|
||||||
<element name="hostObj" type="eppcom:labelType"
|
<enumeration value="y"/>
|
||||||
maxOccurs="unbounded"/>
|
<enumeration value="m"/>
|
||||||
<element name="hostAttr" type="domain:hostAttrType"
|
<enumeration value="d"/>
|
||||||
maxOccurs="unbounded"/>
|
</restriction>
|
||||||
</choice>
|
</simpleType>
|
||||||
</complexType>
|
|
||||||
<!--
|
|
||||||
Name servers are either host objects or attributes.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<complexType name="hostAttrType">
|
<complexType name="nsType">
|
||||||
<sequence>
|
<choice>
|
||||||
<element name="hostName" type="eppcom:labelType"/>
|
<element name="hostObj" type="eppcom:labelType"
|
||||||
<element name="hostAddr" type="host:addrType"
|
maxOccurs="unbounded"/>
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
<element name="hostAttr" type="domain:hostAttrType"
|
||||||
</sequence>
|
maxOccurs="unbounded"/>
|
||||||
</complexType>
|
</choice>
|
||||||
<!--
|
</complexType>
|
||||||
If attributes, addresses are optional and follow the
|
<!--
|
||||||
structure defined in the host mapping.
|
Name servers are either host objects or attributes.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<complexType name="contactType">
|
<complexType name="hostAttrType">
|
||||||
<simpleContent>
|
<sequence>
|
||||||
<extension base="eppcom:clIDType">
|
<element name="hostName" type="eppcom:labelType"/>
|
||||||
<attribute name="type" type="domain:contactAttrType"/>
|
<element name="hostAddr" type="host:addrType"
|
||||||
</extension>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
</simpleContent>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
<!--
|
||||||
|
If attributes, addresses are optional and follow the
|
||||||
|
structure defined in the host mapping.
|
||||||
|
-->
|
||||||
|
|
||||||
<simpleType name="contactAttrType">
|
<complexType name="contactType">
|
||||||
<restriction base="token">
|
<simpleContent>
|
||||||
<enumeration value="admin"/>
|
<extension base="eppcom:clIDType">
|
||||||
<enumeration value="billing"/>
|
<attribute name="type" type="domain:contactAttrType"/>
|
||||||
<enumeration value="tech"/>
|
</extension>
|
||||||
</restriction>
|
</simpleContent>
|
||||||
</simpleType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="authInfoType">
|
<simpleType name="contactAttrType">
|
||||||
<choice>
|
<restriction base="token">
|
||||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
<enumeration value="admin"/>
|
||||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
<enumeration value="billing"/>
|
||||||
</choice>
|
<enumeration value="tech"/>
|
||||||
</complexType>
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<complexType name="authInfoType">
|
||||||
Child element of commands that require a single name.
|
<choice>
|
||||||
-->
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
<complexType name="sNameType">
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
<sequence>
|
</choice>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
</complexType>
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
<!--
|
|
||||||
Child element of commands that accept multiple names.
|
|
||||||
-->
|
|
||||||
<complexType name="mNameType">
|
|
||||||
<sequence>
|
|
||||||
<element name="name" type="eppcom:labelType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <info> command.
|
Child element of commands that require a single name.
|
||||||
-->
|
-->
|
||||||
<complexType name="infoType">
|
<complexType name="sNameType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="domain:infoNameType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
</sequence>
|
||||||
minOccurs="0"/>
|
</complexType>
|
||||||
</sequence>
|
<!--
|
||||||
</complexType>
|
Child element of commands that accept multiple names.
|
||||||
|
-->
|
||||||
|
<complexType name="mNameType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="infoNameType">
|
<!--
|
||||||
<simpleContent>
|
Child element of the <delete> command - .ee specific (verified)
|
||||||
<extension base = "eppcom:labelType">
|
-->
|
||||||
<attribute name="hosts" type="domain:hostsType"
|
<complexType name="deleteType">
|
||||||
default="all"/>
|
<sequence>
|
||||||
</extension>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</simpleContent>
|
</sequence>
|
||||||
</complexType>
|
<attribute name="verified" type="domain:verifiedType"
|
||||||
|
use="optional"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="hostsType">
|
<!--
|
||||||
<restriction base="token">
|
Child elements of the <info> command.
|
||||||
<enumeration value="all"/>
|
-->
|
||||||
<enumeration value="del"/>
|
<complexType name="infoType">
|
||||||
<enumeration value="none"/>
|
<sequence>
|
||||||
<enumeration value="sub"/>
|
<element name="name" type="domain:infoNameType"/>
|
||||||
</restriction>
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
</simpleType>
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<complexType name="infoNameType">
|
||||||
Child elements of the <renew> command.
|
<simpleContent>
|
||||||
-->
|
<extension base = "eppcom:labelType">
|
||||||
<complexType name="renewType">
|
<attribute name="hosts" type="domain:hostsType"
|
||||||
<sequence>
|
default="all"/>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
</extension>
|
||||||
<element name="curExpDate" type="date"/>
|
</simpleContent>
|
||||||
<element name="period" type="domain:periodType"
|
</complexType>
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<simpleType name="hostsType">
|
||||||
Child elements of the <transfer> command.
|
<restriction base="token">
|
||||||
-->
|
<enumeration value="all"/>
|
||||||
<complexType name="transferType">
|
<enumeration value="del"/>
|
||||||
<sequence>
|
<enumeration value="none"/>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<enumeration value="sub"/>
|
||||||
<element name="period" type="domain:periodType"
|
</restriction>
|
||||||
minOccurs="0"/>
|
</simpleType>
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <update> command.
|
Child elements of the <renew> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="updateType">
|
<complexType name="renewType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="add" type="domain:addRemType"
|
<element name="curExpDate" type="date"/>
|
||||||
minOccurs="0"/>
|
<element name="period" type="domain:periodType"
|
||||||
<element name="rem" type="domain:addRemType"
|
minOccurs="0"/>
|
||||||
minOccurs="0"/>
|
</sequence>
|
||||||
<element name="chg" type="domain:chgType"
|
</complexType>
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be added or removed.
|
Child elements of the <transfer> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="addRemType">
|
<complexType name="transferType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="ns" type="domain:nsType"
|
<element name="name" type="eppcom:labelType"/>
|
||||||
minOccurs="0"/>
|
<element name="period" type="domain:periodType"
|
||||||
<element name="contact" type="domain:contactType"
|
minOccurs="0"/>
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
<element name="status" type="domain:statusType"
|
minOccurs="0"/>
|
||||||
minOccurs="0" maxOccurs="11"/>
|
</sequence>
|
||||||
</sequence>
|
</complexType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be changed.
|
Child elements of the <update> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="chgType">
|
<complexType name="updateType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="registrant" type="domain:clIDChgType"
|
<element name="name" type="eppcom:labelType"/>
|
||||||
minOccurs="0"/>
|
<element name="add" type="domain:addRemType"
|
||||||
<element name="authInfo" type="domain:authInfoChgType"
|
minOccurs="0"/>
|
||||||
minOccurs="0"/>
|
<element name="rem" type="domain:addRemType"
|
||||||
</sequence>
|
minOccurs="0"/>
|
||||||
</complexType>
|
<element name="chg" type="domain:chgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Allow the registrant value to be nullified by changing the
|
Data elements that can be added or removed.
|
||||||
minLength restriction to "0".
|
-->
|
||||||
-->
|
<complexType name="addRemType">
|
||||||
|
<sequence>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="status" type="domain:statusType"
|
||||||
|
minOccurs="0" maxOccurs="11"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="clIDChgType">
|
<!--
|
||||||
<simpleContent>
|
Data elements that can be changed.
|
||||||
<extension base="domain:clIDChgSimpleType">
|
-->
|
||||||
<attribute name="verified" type="domain:verifiedType"/>
|
<complexType name="chgType">
|
||||||
</extension>
|
<sequence>
|
||||||
</simpleContent>
|
<element name="registrant" type="domain:clIDChgType"
|
||||||
</complexType>
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoChgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="clIDChgSimpleType">
|
<!--
|
||||||
<restriction base="token">
|
Allow the registrant value to be nullified by changing the
|
||||||
<minLength value="0"/>
|
minLength restriction to "0".
|
||||||
</restriction>
|
-->
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<simpleType name="verifiedType">
|
<complexType name="clIDChgType">
|
||||||
<restriction base="token">
|
<simpleContent>
|
||||||
<enumeration value="yes"/>
|
<extension base="domain:clIDChgSimpleType">
|
||||||
<enumeration value="no"/>
|
<attribute name="verified" type="domain:verifiedType"/>
|
||||||
</restriction>
|
</extension>
|
||||||
</simpleType>
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="clIDChgSimpleType">
|
||||||
|
<restriction base="token">
|
||||||
|
<minLength value="0"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<simpleType name="verifiedType">
|
||||||
Allow the authInfo value to be nullified by including an
|
<restriction base="token">
|
||||||
empty element within the choice.
|
<enumeration value="yes"/>
|
||||||
-->
|
<enumeration value="no"/>
|
||||||
<complexType name="authInfoChgType">
|
</restriction>
|
||||||
<choice>
|
</simpleType>
|
||||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
|
||||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
|
||||||
<element name="null"/>
|
|
||||||
</choice>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child response elements.
|
Allow the authInfo value to be nullified by including an
|
||||||
-->
|
empty element within the choice.
|
||||||
<element name="chkData" type="domain:chkDataType"/>
|
-->
|
||||||
<element name="creData" type="domain:creDataType"/>
|
<complexType name="authInfoChgType">
|
||||||
<element name="infData" type="domain:infDataType"/>
|
<choice>
|
||||||
<element name="panData" type="domain:panDataType"/>
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
<element name="renData" type="domain:renDataType"/>
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
<element name="trnData" type="domain:trnDataType"/>
|
<element name="null"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<check> response elements.
|
Child response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="chkDataType">
|
<element name="chkData" type="domain:chkDataType"/>
|
||||||
<sequence>
|
<element name="creData" type="domain:creDataType"/>
|
||||||
<element name="cd" type="domain:checkType"
|
<element name="infData" type="domain:infDataType"/>
|
||||||
maxOccurs="unbounded"/>
|
<element name="panData" type="domain:panDataType"/>
|
||||||
</sequence>
|
<element name="renData" type="domain:renDataType"/>
|
||||||
</complexType>
|
<element name="trnData" type="domain:trnDataType"/>
|
||||||
|
|
||||||
<complexType name="checkType">
|
<!--
|
||||||
<sequence>
|
<check> response elements.
|
||||||
<element name="name" type="domain:checkNameType"/>
|
-->
|
||||||
<element name="reason" type="eppcom:reasonType"
|
<complexType name="chkDataType">
|
||||||
minOccurs="0"/>
|
<sequence>
|
||||||
</sequence>
|
<element name="cd" type="domain:checkType"
|
||||||
</complexType>
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="checkNameType">
|
<complexType name="checkType">
|
||||||
<simpleContent>
|
<sequence>
|
||||||
<extension base="eppcom:labelType">
|
<element name="name" type="domain:checkNameType"/>
|
||||||
<attribute name="avail" type="boolean"
|
<element name="reason" type="eppcom:reasonType"
|
||||||
use="required"/>
|
minOccurs="0"/>
|
||||||
</extension>
|
</sequence>
|
||||||
</simpleContent>
|
</complexType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<complexType name="checkNameType">
|
||||||
<create> response elements.
|
<simpleContent>
|
||||||
-->
|
<extension base="eppcom:labelType">
|
||||||
<complexType name="creDataType">
|
<attribute name="avail" type="boolean"
|
||||||
<sequence>
|
use="required"/>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
</extension>
|
||||||
<element name="crDate" type="dateTime"/>
|
</simpleContent>
|
||||||
<element name="exDate" type="dateTime"
|
</complexType>
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<info> response elements.
|
<create> response elements.
|
||||||
-->
|
-->
|
||||||
|
<complexType name="creDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="infDataType">
|
<!--
|
||||||
<sequence>
|
<info> response elements.
|
||||||
<element name="name" type="eppcom:labelType"/>
|
-->
|
||||||
<element name="roid" type="eppcom:roidType"/>
|
|
||||||
<element name="status" type="domain:statusType"
|
|
||||||
minOccurs="0" maxOccurs="11"/>
|
|
||||||
<element name="registrant" type="eppcom:clIDType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="contact" type="domain:contactType"
|
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
|
||||||
<element name="ns" type="domain:nsType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="host" type="eppcom:labelType"
|
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
|
||||||
<element name="clID" type="eppcom:clIDType"/>
|
|
||||||
<element name="crID" type="eppcom:clIDType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="crDate" type="dateTime"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="upID" type="eppcom:clIDType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="upDate" type="dateTime"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="exDate" type="dateTime"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="trDate" type="dateTime"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<complexType name="infDataType">
|
||||||
Status is a combination of attributes and an optional
|
<sequence>
|
||||||
human-readable message that may be expressed in languages other
|
<element name="name" type="eppcom:labelType"/>
|
||||||
than English.
|
<element name="roid" type="eppcom:roidType"/>
|
||||||
-->
|
<element name="status" type="domain:statusType"
|
||||||
<complexType name="statusType">
|
minOccurs="0" maxOccurs="11"/>
|
||||||
<simpleContent>
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
<extension base="normalizedString">
|
minOccurs="0"/>
|
||||||
<attribute name="s" type="domain:statusValueType"
|
<element name="contact" type="domain:contactType"
|
||||||
use="required"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<attribute name="lang" type="language"
|
<element name="ns" type="domain:nsType"
|
||||||
default="en"/>
|
minOccurs="0"/>
|
||||||
</extension>
|
<element name="host" type="eppcom:labelType"
|
||||||
</simpleContent>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
</complexType>
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
|
<element name="crID" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="crDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="upID" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="upDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="trDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="statusValueType">
|
<!--
|
||||||
<restriction base="token">
|
Status is a combination of attributes and an optional
|
||||||
<enumeration value="clientDeleteProhibited"/>
|
human-readable message that may be expressed in languages other
|
||||||
<enumeration value="clientHold"/>
|
than English.
|
||||||
<enumeration value="clientRenewProhibited"/>
|
-->
|
||||||
<enumeration value="clientTransferProhibited"/>
|
<complexType name="statusType">
|
||||||
<enumeration value="clientUpdateProhibited"/>
|
<simpleContent>
|
||||||
<enumeration value="inactive"/>
|
<extension base="normalizedString">
|
||||||
<enumeration value="ok"/>
|
<attribute name="s" type="domain:statusValueType"
|
||||||
<enumeration value="expired"/>
|
use="required"/>
|
||||||
<enumeration value="pendingCreate"/>
|
<attribute name="lang" type="language"
|
||||||
<enumeration value="pendingDelete"/>
|
default="en"/>
|
||||||
<enumeration value="pendingRenew"/>
|
</extension>
|
||||||
<enumeration value="pendingTransfer"/>
|
</simpleContent>
|
||||||
<enumeration value="pendingUpdate"/>
|
</complexType>
|
||||||
<enumeration value="pendingDeleteConfirmation"/>
|
|
||||||
<enumeration value="serverDeleteProhibited"/>
|
|
||||||
<enumeration value="serverHold"/>
|
|
||||||
<enumeration value="serverRenewProhibited"/>
|
|
||||||
<enumeration value="serverTransferProhibited"/>
|
|
||||||
<enumeration value="serverUpdateProhibited"/>
|
|
||||||
<enumeration value="serverForceDelete"/>
|
|
||||||
<enumeration value="serverManualInzone"/>
|
|
||||||
<enumeration value="serverRegistrantChangeProhibited"/>
|
|
||||||
<enumeration value="serverAdminChangeProhibited"/>
|
|
||||||
<enumeration value="serverTechChangeProhibited"/>
|
|
||||||
<enumeration value="deleteCandidate"/>
|
|
||||||
</restriction>
|
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<!--
|
<simpleType name="statusValueType">
|
||||||
Pending action notification response elements.
|
<restriction base="token">
|
||||||
-->
|
<enumeration value="clientDeleteProhibited"/>
|
||||||
<complexType name="panDataType">
|
<enumeration value="clientHold"/>
|
||||||
<sequence>
|
<enumeration value="clientRenewProhibited"/>
|
||||||
<element name="name" type="domain:paNameType"/>
|
<enumeration value="clientTransferProhibited"/>
|
||||||
<element name="paTRID" type="epp:trIDType"/>
|
<enumeration value="clientUpdateProhibited"/>
|
||||||
<element name="paDate" type="dateTime"/>
|
<enumeration value="inactive"/>
|
||||||
</sequence>
|
<enumeration value="ok"/>
|
||||||
</complexType>
|
<enumeration value="expired"/>
|
||||||
|
<enumeration value="pendingCreate"/>
|
||||||
|
<enumeration value="pendingDelete"/>
|
||||||
|
<enumeration value="pendingRenew"/>
|
||||||
|
<enumeration value="pendingTransfer"/>
|
||||||
|
<enumeration value="pendingUpdate"/>
|
||||||
|
<enumeration value="pendingDeleteConfirmation"/>
|
||||||
|
<enumeration value="serverDeleteProhibited"/>
|
||||||
|
<enumeration value="serverHold"/>
|
||||||
|
<enumeration value="serverRenewProhibited"/>
|
||||||
|
<enumeration value="serverTransferProhibited"/>
|
||||||
|
<enumeration value="serverUpdateProhibited"/>
|
||||||
|
<enumeration value="serverForceDelete"/>
|
||||||
|
<enumeration value="serverManualInzone"/>
|
||||||
|
<enumeration value="serverRegistrantChangeProhibited"/>
|
||||||
|
<enumeration value="serverAdminChangeProhibited"/>
|
||||||
|
<enumeration value="serverTechChangeProhibited"/>
|
||||||
|
<enumeration value="deleteCandidate"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<complexType name="paNameType">
|
<!--
|
||||||
<simpleContent>
|
Pending action notification response elements.
|
||||||
<extension base="eppcom:labelType">
|
-->
|
||||||
<attribute name="paResult" type="boolean"
|
<complexType name="panDataType">
|
||||||
use="required"/>
|
<sequence>
|
||||||
</extension>
|
<element name="name" type="domain:paNameType"/>
|
||||||
</simpleContent>
|
<element name="paTRID" type="epp:trIDType"/>
|
||||||
</complexType>
|
<element name="paDate" type="dateTime"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<complexType name="paNameType">
|
||||||
<renew> response elements.
|
<simpleContent>
|
||||||
-->
|
<extension base="eppcom:labelType">
|
||||||
<complexType name="renDataType">
|
<attribute name="paResult" type="boolean"
|
||||||
<sequence>
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<renew> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="renDataType">
|
||||||
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<transfer> response elements.
|
<transfer> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="trnDataType">
|
<complexType name="trnDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="trStatus" type="eppcom:trStatusType"/>
|
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||||
<element name="reID" type="eppcom:clIDType"/>
|
<element name="reID" type="eppcom:clIDType"/>
|
||||||
|
@ -450,9 +461,10 @@
|
||||||
<element name="acDate" type="dateTime"/>
|
<element name="acDate" type="dateTime"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
<!--
|
|
||||||
End of schema.
|
<!--
|
||||||
-->
|
End of schema.
|
||||||
</schema>
|
-->
|
||||||
|
</schema>
|
||||||
|
|
|
@ -53,7 +53,7 @@ Abstract client and object identifier type.
|
||||||
<simpleType name="clIDType">
|
<simpleType name="clIDType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<minLength value="3"/>
|
<minLength value="3"/>
|
||||||
<maxLength value="16"/>
|
<!-- <maxLength value="16"/> -->
|
||||||
</restriction>
|
</restriction>
|
||||||
</simpleType>
|
</simpleType>
|
||||||
|
|
||||||
|
@ -102,4 +102,4 @@ Transfer status identifiers.
|
||||||
<!--
|
<!--
|
||||||
End of schema.
|
End of schema.
|
||||||
-->
|
-->
|
||||||
</schema>
|
</schema>
|
||||||
|
|
63
doc/schemas/keyrelay-1.0.xsd
Normal file
63
doc/schemas/keyrelay-1.0.xsd
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<schema targetNamespace="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
|
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
|
||||||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
|
<annotation>
|
||||||
|
<documentation>
|
||||||
|
Extensible Provisioning Protocol v1.0 protocol
|
||||||
|
extension schema for relaying DNSSEC key material.
|
||||||
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:domain-1.0"/>
|
||||||
|
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType" />
|
||||||
|
<element name="infData" type="keyrelay:infDataType" />
|
||||||
|
<element name="create" type="keyrelay:createType" />
|
||||||
|
|
||||||
|
<complexType name="createType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="infDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
<element name="reID" type="eppcom:clIDType" />
|
||||||
|
<element name="acID" type="eppcom:clIDType" />
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="keyRelayDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="keyData" type="secDNS:keyDataType" />
|
||||||
|
<element name="expiry" type="keyrelay:keyRelayExpiryType"
|
||||||
|
minOccurs="0" />
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="keyRelayExpiryType">
|
||||||
|
<choice>
|
||||||
|
<element name="absolute" type="dateTime" />
|
||||||
|
<element name="relative" type="duration" />
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
</schema>
|
46
lib/schemas/all-ee-1.0.xsd
Normal file
46
lib/schemas/all-ee-1.0.xsd
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
This schema imports other schemas used for Estonian ccTLD
|
||||||
|
.ee EPP queries and responses.
|
||||||
|
-->
|
||||||
|
<schema targetNamespace="https://epp.tld.ee/schema/all-ee-1.0"
|
||||||
|
xmlns:all="https://epp.tld.ee/schema/all-ee-1.0"
|
||||||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Import all schemas related to .ee EPP protocol.
|
||||||
|
Anytime the version of any imported schema is raised, the version of
|
||||||
|
'all' schema is also raised.
|
||||||
|
eppcom and epp schemas never change the version. This would result
|
||||||
|
in incompatibility with EPP standard.
|
||||||
|
-->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
|
schemaLocation="lib/schemas/eppcom-1.0.xsd"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
|
schemaLocation="lib/schemas/epp-1.0.xsd"/>
|
||||||
|
<!-- EPP protocol extension: DNSSEC -->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
|
schemaLocation="lib/schemas/secDNS-1.1.xsd"/>
|
||||||
|
<!-- EPP protocol extension: DNSSEC keyrelay -->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
schemaLocation="lib/schemas/keyrelay-1.0.xsd"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"
|
||||||
|
schemaLocation="lib/schemas/host-1.0.xsd"/>
|
||||||
|
<!-- EPP protocol extension: .ee specific -->
|
||||||
|
<import namespace="https://epp.tld.ee/schema/eis-1.0"
|
||||||
|
schemaLocation="lib/schemas/eis-1.0.xsd"/>
|
||||||
|
<import namespace="https://epp.tld.ee/schema/contact-eis-1.0"
|
||||||
|
schemaLocation="lib/schemas/contact-eis-1.0.xsd"/>
|
||||||
|
<import namespace="https://epp.tld.ee/schema/domain-eis-1.0"
|
||||||
|
schemaLocation="lib/schemas/domain-eis-1.0.xsd"/>
|
||||||
|
|
||||||
|
<annotation>
|
||||||
|
<documentation>
|
||||||
|
Extensible Provisioning Protocol v1.0
|
||||||
|
all schema's grouped together
|
||||||
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
|
</schema>
|
388
lib/schemas/contact-1.0.xsd
Normal file
388
lib/schemas/contact-1.0.xsd
Normal file
|
@ -0,0 +1,388 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0"
|
||||||
|
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
|
||||||
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Import common element types.
|
||||||
|
-->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
|
|
||||||
|
<annotation>
|
||||||
|
<documentation>
|
||||||
|
Extensible Provisioning Protocol v1.0
|
||||||
|
contact provisioning schema.
|
||||||
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements found in EPP commands.
|
||||||
|
-->
|
||||||
|
<element name="check" type="contact:mIDType"/>
|
||||||
|
<element name="create" type="contact:createType"/>
|
||||||
|
<element name="delete" type="contact:sIDType"/>
|
||||||
|
<element name="info" type="contact:authIDType"/>
|
||||||
|
<element name="transfer" type="contact:authIDType"/>
|
||||||
|
<element name="update" type="contact:updateType"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Utility types.
|
||||||
|
-->
|
||||||
|
<simpleType name="ccType">
|
||||||
|
<restriction base="token">
|
||||||
|
<length value="2"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<complexType name="e164Type">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="contact:e164StringType">
|
||||||
|
<attribute name="x" type="token"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="e164StringType">
|
||||||
|
<restriction base="token">
|
||||||
|
<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
|
||||||
|
<maxLength value="17"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<simpleType name="pcType">
|
||||||
|
<restriction base="token">
|
||||||
|
<maxLength value="16"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<simpleType name="postalLineType">
|
||||||
|
<restriction base="normalizedString">
|
||||||
|
<minLength value="1"/>
|
||||||
|
<maxLength value="255"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<simpleType name="optPostalLineType">
|
||||||
|
<restriction base="normalizedString">
|
||||||
|
<maxLength value="255"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <create> command.
|
||||||
|
-->
|
||||||
|
<complexType name="createType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="postalInfo" type="contact:postalInfoType"
|
||||||
|
maxOccurs="2"/>
|
||||||
|
<element name="voice" type="contact:e164Type"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="fax" type="contact:e164Type"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="email" type="eppcom:minTokenType"/>
|
||||||
|
<element name="authInfo" type="contact:authInfoType"/>
|
||||||
|
<element name="disclose" type="contact:discloseType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="postalInfoType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="contact:postalLineType"/>
|
||||||
|
<element name="org" type="contact:optPostalLineType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="addr" type="contact:addrType"/>
|
||||||
|
</sequence>
|
||||||
|
<attribute name="type" type="contact:postalInfoEnumType"
|
||||||
|
use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="postalInfoEnumType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="loc"/>
|
||||||
|
<enumeration value="int"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<complexType name="addrType">
|
||||||
|
<sequence>
|
||||||
|
<element name="street" type="contact:optPostalLineType"
|
||||||
|
minOccurs="0" maxOccurs="3"/>
|
||||||
|
<element name="city" type="contact:postalLineType"/>
|
||||||
|
<element name="sp" type="contact:optPostalLineType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="pc" type="contact:pcType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="cc" type="contact:ccType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="authInfoType">
|
||||||
|
<choice>
|
||||||
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="discloseType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="contact:intLocType"
|
||||||
|
minOccurs="0" maxOccurs="2"/>
|
||||||
|
<element name="org" type="contact:intLocType"
|
||||||
|
minOccurs="0" maxOccurs="2"/>
|
||||||
|
<element name="addr" type="contact:intLocType"
|
||||||
|
minOccurs="0" maxOccurs="2"/>
|
||||||
|
<element name="voice" minOccurs="0"/>
|
||||||
|
<element name="fax" minOccurs="0"/>
|
||||||
|
<element name="email" minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
<attribute name="flag" type="boolean" use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="intLocType">
|
||||||
|
<attribute name="type" type="contact:postalInfoEnumType"
|
||||||
|
use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child element of commands that require only an identifier.
|
||||||
|
-->
|
||||||
|
<complexType name="sIDType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child element of commands that accept multiple identifiers.
|
||||||
|
-->
|
||||||
|
<complexType name="mIDType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <info> and <transfer> commands.
|
||||||
|
-->
|
||||||
|
<complexType name="authIDType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="authInfo" type="contact:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <update> command.
|
||||||
|
-->
|
||||||
|
<complexType name="updateType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="add" type="contact:addRemType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="rem" type="contact:addRemType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="chg" type="contact:chgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Data elements that can be added or removed.
|
||||||
|
-->
|
||||||
|
<complexType name="addRemType">
|
||||||
|
<sequence>
|
||||||
|
<element name="status" type="contact:statusType"
|
||||||
|
maxOccurs="7"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Data elements that can be changed.
|
||||||
|
-->
|
||||||
|
<complexType name="chgType">
|
||||||
|
<sequence>
|
||||||
|
<element name="postalInfo" type="contact:chgPostalInfoType"
|
||||||
|
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="chgPostalInfoType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="contact:postalLineType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="org" type="contact:optPostalLineType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="addr" type="contact:addrType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
<attribute name="type" type="contact:postalInfoEnumType"
|
||||||
|
use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child response elements.
|
||||||
|
-->
|
||||||
|
<element name="chkData" type="contact:chkDataType"/>
|
||||||
|
<element name="creData" type="contact:creDataType"/>
|
||||||
|
<element name="infData" type="contact:infDataType"/>
|
||||||
|
<element name="panData" type="contact:panDataType"/>
|
||||||
|
<element name="trnData" type="contact:trnDataType"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<check> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="chkDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="cd" type="contact:checkType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="checkType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="contact:checkIDType"/>
|
||||||
|
<element name="reason" type="eppcom:reasonType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="checkIDType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="eppcom:clIDType">
|
||||||
|
<attribute name="avail" type="boolean"
|
||||||
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<create> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="creDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<info> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="infDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="roid" type="eppcom:roidType"/>
|
||||||
|
<element name="status" type="contact:statusType"
|
||||||
|
maxOccurs="7"/>
|
||||||
|
<element name="postalInfo" type="contact:postalInfoType"
|
||||||
|
maxOccurs="2"/>
|
||||||
|
<element name="voice" type="contact:e164Type"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="fax" type="contact:e164Type"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="email" type="eppcom:minTokenType"/>
|
||||||
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
|
<element name="crID" type="eppcom:clIDType"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
<element name="upID" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="upDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="trDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="contact:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="disclose" type="contact:discloseType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Status is a combination of attributes and an optional human-readable
|
||||||
|
message that may be expressed in languages other than English.
|
||||||
|
-->
|
||||||
|
<complexType name="statusType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="normalizedString">
|
||||||
|
<attribute name="s" type="contact:statusValueType"
|
||||||
|
use="required"/>
|
||||||
|
<attribute name="lang" type="language"
|
||||||
|
default="en"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="statusValueType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="clientDeleteProhibited"/>
|
||||||
|
<enumeration value="clientTransferProhibited"/>
|
||||||
|
<enumeration value="clientUpdateProhibited"/>
|
||||||
|
<enumeration value="linked"/>
|
||||||
|
<enumeration value="ok"/>
|
||||||
|
<enumeration value="pendingCreate"/>
|
||||||
|
<enumeration value="pendingDelete"/>
|
||||||
|
<enumeration value="pendingTransfer"/>
|
||||||
|
<enumeration value="pendingUpdate"/>
|
||||||
|
<enumeration value="serverDeleteProhibited"/>
|
||||||
|
<enumeration value="serverTransferProhibited"/>
|
||||||
|
<enumeration value="serverUpdateProhibited"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Pending action notification response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="panDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="contact:paCLIDType"/>
|
||||||
|
<element name="paTRID" type="epp:trIDType"/>
|
||||||
|
<element name="paDate" type="dateTime"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="paCLIDType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="eppcom:clIDType">
|
||||||
|
<attribute name="paResult" type="boolean"
|
||||||
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<transfer> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="trnDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="id" type="eppcom:clIDType"/>
|
||||||
|
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||||
|
<element name="reID" type="eppcom:clIDType"/>
|
||||||
|
<element name="reDate" type="dateTime"/>
|
||||||
|
<element name="acID" type="eppcom:clIDType"/>
|
||||||
|
<element name="acDate" type="dateTime"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
End of schema.
|
||||||
|
-->
|
||||||
|
</schema>
|
|
@ -10,9 +10,9 @@
|
||||||
<!--
|
<!--
|
||||||
Import common element types.
|
Import common element types.
|
||||||
-->
|
-->
|
||||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="lib/schemas/eppcom-1.0.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="lib/schemas/epp-1.0.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd" schemaLocation="lib/schemas/eis-1.0.xsd"/>
|
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd"/>
|
||||||
|
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
|
|
432
lib/schemas/domain-1.0.xsd
Normal file
432
lib/schemas/domain-1.0.xsd
Normal file
|
@ -0,0 +1,432 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
|
||||||
|
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||||||
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Import common element types.
|
||||||
|
-->
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"/>
|
||||||
|
|
||||||
|
<annotation>
|
||||||
|
<documentation>
|
||||||
|
Extensible Provisioning Protocol v1.0
|
||||||
|
domain provisioning schema.
|
||||||
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements found in EPP commands.
|
||||||
|
-->
|
||||||
|
<element name="check" type="domain:mNameType"/>
|
||||||
|
<element name="create" type="domain:createType"/>
|
||||||
|
<element name="delete" type="domain:sNameType"/>
|
||||||
|
<element name="info" type="domain:infoType"/>
|
||||||
|
<element name="renew" type="domain:renewType"/>
|
||||||
|
<element name="transfer" type="domain:transferType"/>
|
||||||
|
<element name="update" type="domain:updateType"/>
|
||||||
|
<!--
|
||||||
|
Child elements of the <create> command.
|
||||||
|
-->
|
||||||
|
<complexType name="createType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="period" type="domain:periodType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="periodType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="domain:pLimitType">
|
||||||
|
<attribute name="unit" type="domain:pUnitType"
|
||||||
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="pLimitType">
|
||||||
|
<restriction base="unsignedShort">
|
||||||
|
<minInclusive value="1"/>
|
||||||
|
<maxInclusive value="99"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<simpleType name="pUnitType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="y"/>
|
||||||
|
<enumeration value="m"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<complexType name="nsType">
|
||||||
|
<choice>
|
||||||
|
<element name="hostObj" type="eppcom:labelType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="hostAttr" type="domain:hostAttrType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
<!--
|
||||||
|
Name servers are either host objects or attributes.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<complexType name="hostAttrType">
|
||||||
|
<sequence>
|
||||||
|
<element name="hostName" type="eppcom:labelType"/>
|
||||||
|
<element name="hostAddr" type="host:addrType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
<!--
|
||||||
|
If attributes, addresses are optional and follow the
|
||||||
|
structure defined in the host mapping.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<complexType name="contactType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="eppcom:clIDType">
|
||||||
|
<attribute name="type" type="domain:contactAttrType"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="contactAttrType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="admin"/>
|
||||||
|
<enumeration value="billing"/>
|
||||||
|
<enumeration value="tech"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<complexType name="authInfoType">
|
||||||
|
<choice>
|
||||||
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child element of commands that require a single name.
|
||||||
|
-->
|
||||||
|
<complexType name="sNameType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
<!--
|
||||||
|
Child element of commands that accept multiple names.
|
||||||
|
-->
|
||||||
|
<complexType name="mNameType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <info> command.
|
||||||
|
-->
|
||||||
|
<complexType name="infoType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="domain:infoNameType"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="infoNameType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base = "eppcom:labelType">
|
||||||
|
<attribute name="hosts" type="domain:hostsType"
|
||||||
|
default="all"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="hostsType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="all"/>
|
||||||
|
<enumeration value="del"/>
|
||||||
|
<enumeration value="none"/>
|
||||||
|
<enumeration value="sub"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <renew> command.
|
||||||
|
-->
|
||||||
|
<complexType name="renewType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="curExpDate" type="date"/>
|
||||||
|
<element name="period" type="domain:periodType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <transfer> command.
|
||||||
|
-->
|
||||||
|
<complexType name="transferType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="period" type="domain:periodType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <update> command.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<complexType name="updateType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="add" type="domain:addRemType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="rem" type="domain:addRemType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="chg" type="domain:chgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Data elements that can be added or removed.
|
||||||
|
-->
|
||||||
|
<complexType name="addRemType">
|
||||||
|
<sequence>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="status" type="domain:statusType"
|
||||||
|
minOccurs="0" maxOccurs="11"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Data elements that can be changed.
|
||||||
|
-->
|
||||||
|
<complexType name="chgType">
|
||||||
|
<sequence>
|
||||||
|
<element name="registrant" type="domain:clIDChgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoChgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Allow the registrant value to be nullified by changing the
|
||||||
|
minLength restriction to "0".
|
||||||
|
-->
|
||||||
|
<simpleType name="clIDChgType">
|
||||||
|
<restriction base="token">
|
||||||
|
<minLength value="0"/>
|
||||||
|
<maxLength value="16"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Allow the authInfo value to be nullified by including an
|
||||||
|
empty element within the choice.
|
||||||
|
-->
|
||||||
|
<complexType name="authInfoChgType">
|
||||||
|
<choice>
|
||||||
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
|
<element name="null"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child response elements.
|
||||||
|
-->
|
||||||
|
<element name="chkData" type="domain:chkDataType"/>
|
||||||
|
<element name="creData" type="domain:creDataType"/>
|
||||||
|
<element name="infData" type="domain:infDataType"/>
|
||||||
|
<element name="panData" type="domain:panDataType"/>
|
||||||
|
<element name="renData" type="domain:renDataType"/>
|
||||||
|
<element name="trnData" type="domain:trnDataType"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<check> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="chkDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="cd" type="domain:checkType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="checkType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="domain:checkNameType"/>
|
||||||
|
<element name="reason" type="eppcom:reasonType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="checkNameType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="eppcom:labelType">
|
||||||
|
<attribute name="avail" type="boolean"
|
||||||
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<create> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="creDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<info> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="infDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="roid" type="eppcom:roidType"/>
|
||||||
|
<element name="status" type="domain:statusType"
|
||||||
|
minOccurs="0" maxOccurs="11"/>
|
||||||
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="host" type="eppcom:labelType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
|
<element name="crID" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="crDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="upID" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="upDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="trDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Status is a combination of attributes and an optional
|
||||||
|
human-readable message that may be expressed in languages other
|
||||||
|
than English.
|
||||||
|
-->
|
||||||
|
<complexType name="statusType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="normalizedString">
|
||||||
|
<attribute name="s" type="domain:statusValueType"
|
||||||
|
use="required"/>
|
||||||
|
<attribute name="lang" type="language"
|
||||||
|
default="en"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<simpleType name="statusValueType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="clientDeleteProhibited"/>
|
||||||
|
<enumeration value="clientHold"/>
|
||||||
|
<enumeration value="clientRenewProhibited"/>
|
||||||
|
<enumeration value="clientTransferProhibited"/>
|
||||||
|
<enumeration value="clientUpdateProhibited"/>
|
||||||
|
<enumeration value="inactive"/>
|
||||||
|
<enumeration value="ok"/>
|
||||||
|
<enumeration value="pendingCreate"/>
|
||||||
|
<enumeration value="pendingDelete"/>
|
||||||
|
<enumeration value="pendingRenew"/>
|
||||||
|
<enumeration value="pendingTransfer"/>
|
||||||
|
<enumeration value="pendingUpdate"/>
|
||||||
|
<enumeration value="serverDeleteProhibited"/>
|
||||||
|
<enumeration value="serverHold"/>
|
||||||
|
<enumeration value="serverRenewProhibited"/>
|
||||||
|
<enumeration value="serverTransferProhibited"/>
|
||||||
|
<enumeration value="serverUpdateProhibited"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Pending action notification response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="panDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="domain:paNameType"/>
|
||||||
|
<element name="paTRID" type="epp:trIDType"/>
|
||||||
|
<element name="paDate" type="dateTime"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="paNameType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="eppcom:labelType">
|
||||||
|
<attribute name="paResult" type="boolean"
|
||||||
|
use="required"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<renew> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="renDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<transfer> response elements.
|
||||||
|
-->
|
||||||
|
<complexType name="trnDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||||
|
<element name="reID" type="eppcom:clIDType"/>
|
||||||
|
<element name="reDate" type="dateTime"/>
|
||||||
|
<element name="acID" type="eppcom:clIDType"/>
|
||||||
|
<element name="acDate" type="dateTime"/>
|
||||||
|
<element name="exDate" type="dateTime"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
End of schema.
|
||||||
|
-->
|
||||||
|
</schema>
|
|
@ -1,460 +1,458 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<schema targetNamespace="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
<schema targetNamespace="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
||||||
xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd"
|
||||||
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Import common element types.
|
Import common element types.
|
||||||
-->
|
-->
|
||||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="lib/schemas/eppcom-1.0.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="lib/schemas/epp-1.0.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="lib/schemas/host-1.0.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="lib/schemas/secDNS-1.1.xsd"/>
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
|
||||||
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd" schemaLocation="lib/schemas/eis-1.0.xsd"/>
|
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd"/>
|
||||||
|
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Extensible Provisioning Protocol v1.0
|
Extensible Provisioning Protocol v1.0
|
||||||
domain provisioning schema.
|
domain provisioning schema.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements found in EPP commands.
|
Child elements found in EPP commands.
|
||||||
-->
|
-->
|
||||||
<element name="check" type="domain:mNameType"/>
|
<element name="check" type="domain:mNameType"/>
|
||||||
<element name="create" type="domain:createType"/>
|
<element name="create" type="domain:createType"/>
|
||||||
<element name="delete" type="domain:verifiedDeleteType"/>
|
<element name="delete" type="domain:deleteType"/>
|
||||||
<element name="info" type="domain:infoType"/>
|
<element name="info" type="domain:infoType"/>
|
||||||
<element name="renew" type="domain:renewType"/>
|
<element name="renew" type="domain:renewType"/>
|
||||||
<element name="transfer" type="domain:transferType"/>
|
<element name="transfer" type="domain:transferType"/>
|
||||||
<element name="update" type="domain:updateType"/>
|
<element name="update" type="domain:updateType"/>
|
||||||
<!--
|
|
||||||
Child elements of the <create> command.
|
|
||||||
-->
|
|
||||||
<complexType name="createType">
|
|
||||||
<sequence>
|
|
||||||
<element name="name" type="eppcom:labelType"/>
|
|
||||||
<element name="period" type="domain:periodType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="ns" type="domain:nsType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="registrant" type="eppcom:clIDType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="contact" type="domain:contactType"
|
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
|
||||||
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="periodType">
|
<!--
|
||||||
<simpleContent>
|
Child elements of the <create> command.
|
||||||
<extension base="domain:pLimitType">
|
-->
|
||||||
<attribute name="unit" type="domain:pUnitType"
|
<complexType name="createType">
|
||||||
use="required"/>
|
<sequence>
|
||||||
</extension>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</simpleContent>
|
<element name="period" type="domain:periodType"
|
||||||
</complexType>
|
minOccurs="0"/>
|
||||||
|
<element name="ns" type="domain:nsType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="contact" type="domain:contactType"
|
||||||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoType" minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pLimitType">
|
<complexType name="periodType">
|
||||||
<restriction base="unsignedShort">
|
<simpleContent>
|
||||||
<minInclusive value="1"/>
|
<extension base="domain:pLimitType">
|
||||||
<maxInclusive value="1095"/>
|
<attribute name="unit" type="domain:pUnitType"
|
||||||
</restriction>
|
use="required"/>
|
||||||
</simpleType>
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pUnitType">
|
<simpleType name="pLimitType">
|
||||||
<restriction base="token">
|
<restriction base="unsignedShort">
|
||||||
<enumeration value="y"/>
|
<minInclusive value="1"/>
|
||||||
<enumeration value="m"/>
|
<maxInclusive value="1095"/>
|
||||||
<enumeration value="d"/>
|
</restriction>
|
||||||
</restriction>
|
</simpleType>
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<complexType name="nsType">
|
<simpleType name="pUnitType">
|
||||||
<choice>
|
<restriction base="token">
|
||||||
<element name="hostObj" type="eppcom:labelType"
|
<enumeration value="y"/>
|
||||||
maxOccurs="unbounded"/>
|
<enumeration value="m"/>
|
||||||
<element name="hostAttr" type="domain:hostAttrType"
|
<enumeration value="d"/>
|
||||||
maxOccurs="unbounded"/>
|
</restriction>
|
||||||
</choice>
|
</simpleType>
|
||||||
</complexType>
|
|
||||||
<!--
|
|
||||||
Name servers are either host objects or attributes.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<complexType name="hostAttrType">
|
<complexType name="nsType">
|
||||||
<sequence>
|
<choice>
|
||||||
<element name="hostName" type="eppcom:labelType"/>
|
<element name="hostObj" type="eppcom:labelType"
|
||||||
<element name="hostAddr" type="host:addrType"
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="hostAttr" type="domain:hostAttrType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
<!--
|
||||||
|
Name servers are either host objects or attributes.
|
||||||
|
-->
|
||||||
|
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
<complexType name="hostAttrType">
|
||||||
</sequence>
|
<sequence>
|
||||||
</complexType>
|
<element name="hostName" type="eppcom:labelType"/>
|
||||||
<!--
|
<element name="hostAddr" type="host:addrType"
|
||||||
If attributes, addresses are optional and follow the
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
structure defined in the host mapping.
|
</sequence>
|
||||||
-->
|
</complexType>
|
||||||
|
<!--
|
||||||
|
If attributes, addresses are optional and follow the
|
||||||
|
structure defined in the host mapping.
|
||||||
|
-->
|
||||||
|
|
||||||
<complexType name="contactType">
|
<complexType name="contactType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="eppcom:clIDType">
|
<extension base="eppcom:clIDType">
|
||||||
<attribute name="type" type="domain:contactAttrType"/>
|
<attribute name="type" type="domain:contactAttrType"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="contactAttrType">
|
<simpleType name="contactAttrType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<enumeration value="admin"/>
|
<enumeration value="admin"/>
|
||||||
<enumeration value="billing"/>
|
<enumeration value="billing"/>
|
||||||
<enumeration value="tech"/>
|
<enumeration value="tech"/>
|
||||||
</restriction>
|
</restriction>
|
||||||
</simpleType>
|
</simpleType>
|
||||||
|
|
||||||
<complexType name="authInfoType">
|
<complexType name="authInfoType">
|
||||||
<choice>
|
<choice>
|
||||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
</choice>
|
</choice>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child element of commands that require a single name.
|
Child element of commands that require a single name.
|
||||||
-->
|
-->
|
||||||
<complexType name="sNameType">
|
<complexType name="sNameType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
<!--
|
<!--
|
||||||
Extended delete with verified attribute and include single name content
|
Child element of commands that accept multiple names.
|
||||||
-->
|
-->
|
||||||
<complexType name="verifiedDeleteType">
|
<complexType name="mNameType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"
|
||||||
</sequence>
|
maxOccurs="unbounded"/>
|
||||||
<attribute name="verified" use="optional">
|
</sequence>
|
||||||
<simpleType>
|
</complexType>
|
||||||
<restriction base="string">
|
|
||||||
<enumeration value="yes"/>
|
|
||||||
<enumeration value="no"/>
|
|
||||||
</restriction>
|
|
||||||
</simpleType>
|
|
||||||
</attribute>
|
|
||||||
</complexType>
|
|
||||||
<!--
|
|
||||||
Child element of commands that accept multiple names.
|
|
||||||
-->
|
|
||||||
<complexType name="mNameType">
|
|
||||||
<sequence>
|
|
||||||
<element name="name" type="eppcom:labelType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <info> command.
|
Child element of the <delete> command - .ee specific (verified)
|
||||||
-->
|
-->
|
||||||
<complexType name="infoType">
|
<complexType name="deleteType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="domain:infoNameType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
</sequence>
|
||||||
minOccurs="0"/>
|
<attribute name="verified" type="domain:verifiedType"
|
||||||
</sequence>
|
use="optional"/>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="infoNameType">
|
<!--
|
||||||
<simpleContent>
|
Child elements of the <info> command.
|
||||||
<extension base = "eppcom:labelType">
|
-->
|
||||||
<attribute name="hosts" type="domain:hostsType"
|
<complexType name="infoType">
|
||||||
default="all"/>
|
<sequence>
|
||||||
</extension>
|
<element name="name" type="domain:infoNameType"/>
|
||||||
</simpleContent>
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
</complexType>
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="hostsType">
|
<complexType name="infoNameType">
|
||||||
<restriction base="token">
|
<simpleContent>
|
||||||
<enumeration value="all"/>
|
<extension base = "eppcom:labelType">
|
||||||
<enumeration value="del"/>
|
<attribute name="hosts" type="domain:hostsType"
|
||||||
<enumeration value="none"/>
|
default="all"/>
|
||||||
<enumeration value="sub"/>
|
</extension>
|
||||||
</restriction>
|
</simpleContent>
|
||||||
</simpleType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<simpleType name="hostsType">
|
||||||
Child elements of the <renew> command.
|
<restriction base="token">
|
||||||
-->
|
<enumeration value="all"/>
|
||||||
<complexType name="renewType">
|
<enumeration value="del"/>
|
||||||
<sequence>
|
<enumeration value="none"/>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<enumeration value="sub"/>
|
||||||
<element name="curExpDate" type="date"/>
|
</restriction>
|
||||||
<element name="period" type="domain:periodType"
|
</simpleType>
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <transfer> command.
|
Child elements of the <renew> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="transferType">
|
<complexType name="renewType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="period" type="domain:periodType"
|
<element name="curExpDate" type="date"/>
|
||||||
minOccurs="0"/>
|
<element name="period" type="domain:periodType"
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
minOccurs="0"/>
|
||||||
minOccurs="0"/>
|
</sequence>
|
||||||
</sequence>
|
</complexType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <update> command.
|
Child elements of the <transfer> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="updateType">
|
<complexType name="transferType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="add" type="domain:addRemType"
|
<element name="period" type="domain:periodType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="rem" type="domain:addRemType"
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="chg" type="domain:chgType"
|
</sequence>
|
||||||
minOccurs="0"/>
|
</complexType>
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be added or removed.
|
Child elements of the <update> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="addRemType">
|
<complexType name="updateType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="ns" type="domain:nsType"
|
<element name="name" type="eppcom:labelType"/>
|
||||||
minOccurs="0"/>
|
<element name="add" type="domain:addRemType"
|
||||||
<element name="contact" type="domain:contactType"
|
minOccurs="0"/>
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
<element name="rem" type="domain:addRemType"
|
||||||
<element name="status" type="domain:statusType"
|
minOccurs="0"/>
|
||||||
minOccurs="0" maxOccurs="11"/>
|
<element name="chg" type="domain:chgType"
|
||||||
</sequence>
|
minOccurs="0"/>
|
||||||
</complexType>
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be changed.
|
Data elements that can be added or removed.
|
||||||
-->
|
-->
|
||||||
<complexType name="chgType">
|
<complexType name="addRemType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="registrant" type="domain:clIDChgType"
|
<element name="ns" type="domain:nsType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="authInfo" type="domain:authInfoChgType"
|
<element name="contact" type="domain:contactType"
|
||||||
minOccurs="0"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
</sequence>
|
<element name="status" type="domain:statusType"
|
||||||
</complexType>
|
minOccurs="0" maxOccurs="11"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Allow the registrant value to be nullified by changing the
|
Data elements that can be changed.
|
||||||
minLength restriction to "0".
|
-->
|
||||||
-->
|
<complexType name="chgType">
|
||||||
|
<sequence>
|
||||||
|
<element name="registrant" type="domain:clIDChgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="authInfo" type="domain:authInfoChgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="clIDChgType">
|
<!--
|
||||||
<simpleContent>
|
Allow the registrant value to be nullified by changing the
|
||||||
<extension base="domain:clIDChgSimpleType">
|
minLength restriction to "0".
|
||||||
<attribute name="verified" type="domain:verifiedType"/>
|
-->
|
||||||
</extension>
|
|
||||||
</simpleContent>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<simpleType name="clIDChgSimpleType">
|
<complexType name="clIDChgType">
|
||||||
<restriction base="token">
|
<simpleContent>
|
||||||
<minLength value="0"/>
|
<extension base="domain:clIDChgSimpleType">
|
||||||
</restriction>
|
<attribute name="verified" type="domain:verifiedType"/>
|
||||||
</simpleType>
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="verifiedType">
|
<simpleType name="clIDChgSimpleType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<enumeration value="yes"/>
|
<minLength value="0"/>
|
||||||
<enumeration value="no"/>
|
</restriction>
|
||||||
</restriction>
|
</simpleType>
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
|
<simpleType name="verifiedType">
|
||||||
|
<restriction base="token">
|
||||||
|
<enumeration value="yes"/>
|
||||||
|
<enumeration value="no"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Allow the authInfo value to be nullified by including an
|
Allow the authInfo value to be nullified by including an
|
||||||
empty element within the choice.
|
empty element within the choice.
|
||||||
-->
|
-->
|
||||||
<complexType name="authInfoChgType">
|
<complexType name="authInfoChgType">
|
||||||
<choice>
|
<choice>
|
||||||
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||||||
<element name="ext" type="eppcom:extAuthInfoType"/>
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||||||
<element name="null"/>
|
<element name="null"/>
|
||||||
</choice>
|
</choice>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child response elements.
|
Child response elements.
|
||||||
-->
|
-->
|
||||||
<element name="chkData" type="domain:chkDataType"/>
|
<element name="chkData" type="domain:chkDataType"/>
|
||||||
<element name="creData" type="domain:creDataType"/>
|
<element name="creData" type="domain:creDataType"/>
|
||||||
<element name="infData" type="domain:infDataType"/>
|
<element name="infData" type="domain:infDataType"/>
|
||||||
<element name="panData" type="domain:panDataType"/>
|
<element name="panData" type="domain:panDataType"/>
|
||||||
<element name="renData" type="domain:renDataType"/>
|
<element name="renData" type="domain:renDataType"/>
|
||||||
<element name="trnData" type="domain:trnDataType"/>
|
<element name="trnData" type="domain:trnDataType"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<check> response elements.
|
<check> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="chkDataType">
|
<complexType name="chkDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="cd" type="domain:checkType"
|
<element name="cd" type="domain:checkType"
|
||||||
maxOccurs="unbounded"/>
|
maxOccurs="unbounded"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="checkType">
|
<complexType name="checkType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="domain:checkNameType"/>
|
<element name="name" type="domain:checkNameType"/>
|
||||||
<element name="reason" type="eppcom:reasonType"
|
<element name="reason" type="eppcom:reasonType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="checkNameType">
|
<complexType name="checkNameType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="eppcom:labelType">
|
<extension base="eppcom:labelType">
|
||||||
<attribute name="avail" type="boolean"
|
<attribute name="avail" type="boolean"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<create> response elements.
|
<create> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="creDataType">
|
<complexType name="creDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="crDate" type="dateTime"/>
|
<element name="crDate" type="dateTime"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<info> response elements.
|
<info> response elements.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<complexType name="infDataType">
|
<complexType name="infDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="roid" type="eppcom:roidType"/>
|
<element name="roid" type="eppcom:roidType"/>
|
||||||
<element name="status" type="domain:statusType"
|
<element name="status" type="domain:statusType"
|
||||||
minOccurs="0" maxOccurs="11"/>
|
minOccurs="0" maxOccurs="11"/>
|
||||||
<element name="registrant" type="eppcom:clIDType"
|
<element name="registrant" type="eppcom:clIDType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="contact" type="domain:contactType"
|
<element name="contact" type="domain:contactType"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<element name="ns" type="domain:nsType"
|
<element name="ns" type="domain:nsType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="host" type="eppcom:labelType"
|
<element name="host" type="eppcom:labelType"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<element name="clID" type="eppcom:clIDType"/>
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
<element name="crID" type="eppcom:clIDType"
|
<element name="crID" type="eppcom:clIDType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="crDate" type="dateTime"
|
<element name="crDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="upID" type="eppcom:clIDType"
|
<element name="upID" type="eppcom:clIDType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="upDate" type="dateTime"
|
<element name="upDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="trDate" type="dateTime"
|
<element name="trDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="authInfo" type="domain:authInfoType"
|
<element name="authInfo" type="domain:authInfoType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Status is a combination of attributes and an optional
|
Status is a combination of attributes and an optional
|
||||||
human-readable message that may be expressed in languages other
|
human-readable message that may be expressed in languages other
|
||||||
than English.
|
than English.
|
||||||
-->
|
-->
|
||||||
<complexType name="statusType">
|
<complexType name="statusType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="normalizedString">
|
<extension base="normalizedString">
|
||||||
<attribute name="s" type="domain:statusValueType"
|
<attribute name="s" type="domain:statusValueType"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
<attribute name="lang" type="language"
|
<attribute name="lang" type="language"
|
||||||
default="en"/>
|
default="en"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="statusValueType">
|
<simpleType name="statusValueType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<enumeration value="clientDeleteProhibited"/>
|
<enumeration value="clientDeleteProhibited"/>
|
||||||
<enumeration value="clientHold"/>
|
<enumeration value="clientHold"/>
|
||||||
<enumeration value="clientRenewProhibited"/>
|
<enumeration value="clientRenewProhibited"/>
|
||||||
<enumeration value="clientTransferProhibited"/>
|
<enumeration value="clientTransferProhibited"/>
|
||||||
<enumeration value="clientUpdateProhibited"/>
|
<enumeration value="clientUpdateProhibited"/>
|
||||||
<enumeration value="inactive"/>
|
<enumeration value="inactive"/>
|
||||||
<enumeration value="ok"/>
|
<enumeration value="ok"/>
|
||||||
<enumeration value="pendingCreate"/>
|
<enumeration value="expired"/>
|
||||||
<enumeration value="pendingDelete"/>
|
<enumeration value="pendingCreate"/>
|
||||||
<enumeration value="pendingRenew"/>
|
<enumeration value="pendingDelete"/>
|
||||||
<enumeration value="pendingTransfer"/>
|
<enumeration value="pendingRenew"/>
|
||||||
<enumeration value="pendingUpdate"/>
|
<enumeration value="pendingTransfer"/>
|
||||||
<enumeration value="serverDeleteProhibited"/>
|
<enumeration value="pendingUpdate"/>
|
||||||
<enumeration value="serverHold"/>
|
<enumeration value="pendingDeleteConfirmation"/>
|
||||||
<enumeration value="serverRenewProhibited"/>
|
<enumeration value="serverDeleteProhibited"/>
|
||||||
<enumeration value="serverTransferProhibited"/>
|
<enumeration value="serverHold"/>
|
||||||
<enumeration value="serverUpdateProhibited"/>
|
<enumeration value="serverRenewProhibited"/>
|
||||||
<!-- Custom EIS domain status values -->
|
<enumeration value="serverTransferProhibited"/>
|
||||||
<enumeration value="serverTechChangeProhibited"/>
|
<enumeration value="serverUpdateProhibited"/>
|
||||||
<enumeration value="serverAdminChangeProhibited"/>
|
<enumeration value="serverForceDelete"/>
|
||||||
<enumeration value="serverRegistrantChangeProhibited"/>
|
<enumeration value="serverManualInzone"/>
|
||||||
</restriction>
|
<enumeration value="serverRegistrantChangeProhibited"/>
|
||||||
</simpleType>
|
<enumeration value="serverAdminChangeProhibited"/>
|
||||||
|
<enumeration value="serverTechChangeProhibited"/>
|
||||||
|
<enumeration value="deleteCandidate"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Pending action notification response elements.
|
Pending action notification response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="panDataType">
|
<complexType name="panDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="domain:paNameType"/>
|
<element name="name" type="domain:paNameType"/>
|
||||||
<element name="paTRID" type="epp:trIDType"/>
|
<element name="paTRID" type="epp:trIDType"/>
|
||||||
<element name="paDate" type="dateTime"/>
|
<element name="paDate" type="dateTime"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="paNameType">
|
<complexType name="paNameType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="eppcom:labelType">
|
<extension base="eppcom:labelType">
|
||||||
<attribute name="paResult" type="boolean"
|
<attribute name="paResult" type="boolean"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<renew> response elements.
|
<renew> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="renDataType">
|
<complexType name="renDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<transfer> response elements.
|
<transfer> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="trnDataType">
|
<complexType name="trnDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="trStatus" type="eppcom:trStatusType"/>
|
<element name="trStatus" type="eppcom:trStatusType"/>
|
||||||
<element name="reID" type="eppcom:clIDType"/>
|
<element name="reID" type="eppcom:clIDType"/>
|
||||||
|
@ -463,9 +461,10 @@
|
||||||
<element name="acDate" type="dateTime"/>
|
<element name="acDate" type="dateTime"/>
|
||||||
<element name="exDate" type="dateTime"
|
<element name="exDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
<!--
|
|
||||||
End of schema.
|
<!--
|
||||||
-->
|
End of schema.
|
||||||
</schema>
|
-->
|
||||||
|
</schema>
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="normalizedString">
|
<extension base="normalizedString">
|
||||||
<attribute name="type" type="eis:identEnumType" use="required"/>
|
<attribute name="type" type="eis:identEnumType" use="required"/>
|
||||||
<attribute name="cc" type="eis:ccType" use="required"/>
|
<attribute name="cc" type="eis:ccType"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
|
@ -1,443 +1,446 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0"
|
<schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Import common element types.
|
Import common element types.
|
||||||
-->
|
-->
|
||||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="lib/schemas/eppcom-1.0.xsd" />
|
|
||||||
|
|
||||||
<annotation>
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
<documentation>
|
|
||||||
Extensible Provisioning Protocol v1.0 schema.
|
|
||||||
</documentation>
|
|
||||||
</annotation>
|
|
||||||
|
|
||||||
<!--
|
<annotation>
|
||||||
Every EPP XML instance must begin with this element.
|
<documentation>
|
||||||
-->
|
Extensible Provisioning Protocol v1.0 schema.
|
||||||
<element name="epp" type="epp:eppType"/>
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
An EPP XML instance must contain a greeting, hello, command,
|
Every EPP XML instance must begin with this element.
|
||||||
response, or extension.
|
-->
|
||||||
-->
|
<element name="epp" type="epp:eppType"/>
|
||||||
<complexType name="eppType">
|
|
||||||
<choice>
|
|
||||||
<element name="greeting" type="epp:greetingType"/>
|
|
||||||
<element name="hello"/>
|
|
||||||
<element name="command" type="epp:commandType"/>
|
|
||||||
<element name="response" type="epp:responseType"/>
|
|
||||||
<element name="extension" type="epp:extAnyType"/>
|
|
||||||
</choice>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
A greeting is sent by a server in response to a client connection
|
An EPP XML instance must contain a greeting, hello, command,
|
||||||
or <hello>.
|
response, or extension.
|
||||||
-->
|
-->
|
||||||
<complexType name="greetingType">
|
<complexType name="eppType">
|
||||||
<sequence>
|
<choice>
|
||||||
<element name="svID" type="epp:sIDType"/>
|
<element name="greeting" type="epp:greetingType"/>
|
||||||
<element name="svDate" type="dateTime"/>
|
<element name="hello"/>
|
||||||
<element name="svcMenu" type="epp:svcMenuType"/>
|
<element name="command" type="epp:commandType"/>
|
||||||
<element name="dcp" type="epp:dcpType"/>
|
<element name="response" type="epp:responseType"/>
|
||||||
</sequence>
|
<element name="extension" type="epp:extAnyType"/>
|
||||||
</complexType>
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Server IDs are strings with minimum and maximum length restrictions.
|
A greeting is sent by a server in response to a client connection
|
||||||
-->
|
or <hello>.
|
||||||
<simpleType name="sIDType">
|
-->
|
||||||
<restriction base="normalizedString">
|
<complexType name="greetingType">
|
||||||
<minLength value="3"/>
|
<sequence>
|
||||||
<maxLength value="64"/>
|
<element name="svID" type="epp:sIDType"/>
|
||||||
</restriction>
|
<element name="svDate" type="dateTime"/>
|
||||||
</simpleType>
|
<element name="svcMenu" type="epp:svcMenuType"/>
|
||||||
|
<element name="dcp" type="epp:dcpType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
A server greeting identifies available object services.
|
Server IDs are strings with minimum and maximum length restrictions.
|
||||||
-->
|
-->
|
||||||
<complexType name="svcMenuType">
|
<simpleType name="sIDType">
|
||||||
<sequence>
|
<restriction base="normalizedString">
|
||||||
<element name="version" type="epp:versionType"
|
<minLength value="3"/>
|
||||||
maxOccurs="unbounded"/>
|
<maxLength value="64"/>
|
||||||
<element name="lang" type="language"
|
</restriction>
|
||||||
maxOccurs="unbounded"/>
|
</simpleType>
|
||||||
<element name="objURI" type="anyURI"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
<element name="svcExtension" type="epp:extURIType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data Collection Policy types.
|
A server greeting identifies available object services.
|
||||||
-->
|
-->
|
||||||
<complexType name="dcpType">
|
<complexType name="svcMenuType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="access" type="epp:dcpAccessType"/>
|
<element name="version" type="epp:versionType"
|
||||||
<element name="statement" type="epp:dcpStatementType"
|
maxOccurs="unbounded"/>
|
||||||
maxOccurs="unbounded"/>
|
<element name="lang" type="language"
|
||||||
<element name="expiry" type="epp:dcpExpiryType"
|
maxOccurs="unbounded"/>
|
||||||
minOccurs="0"/>
|
<element name="objURI" type="anyURI"
|
||||||
</sequence>
|
maxOccurs="unbounded"/>
|
||||||
</complexType>
|
<element name="svcExtension" type="epp:extURIType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="dcpAccessType">
|
<!--
|
||||||
<choice>
|
Data Collection Policy types.
|
||||||
<element name="all"/>
|
-->
|
||||||
<element name="none"/>
|
<complexType name="dcpType">
|
||||||
<element name="null"/>
|
<sequence>
|
||||||
<element name="other"/>
|
<element name="access" type="epp:dcpAccessType"/>
|
||||||
<element name="personal"/>
|
<element name="statement" type="epp:dcpStatementType"
|
||||||
<element name="personalAndOther"/>
|
maxOccurs="unbounded"/>
|
||||||
</choice>
|
<element name="expiry" type="epp:dcpExpiryType"
|
||||||
</complexType>
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="dcpStatementType">
|
<complexType name="dcpAccessType">
|
||||||
<sequence>
|
<choice>
|
||||||
<element name="purpose" type="epp:dcpPurposeType"/>
|
<element name="all"/>
|
||||||
<element name="recipient" type="epp:dcpRecipientType"/>
|
<element name="none"/>
|
||||||
<element name="retention" type="epp:dcpRetentionType"/>
|
<element name="null"/>
|
||||||
</sequence>
|
<element name="other"/>
|
||||||
</complexType>
|
<element name="personal"/>
|
||||||
|
<element name="personalAndOther"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="dcpPurposeType">
|
<complexType name="dcpStatementType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="admin"
|
<element name="purpose" type="epp:dcpPurposeType"/>
|
||||||
minOccurs="0"/>
|
<element name="recipient" type="epp:dcpRecipientType"/>
|
||||||
<element name="contact"
|
<element name="retention" type="epp:dcpRetentionType"/>
|
||||||
minOccurs="0"/>
|
</sequence>
|
||||||
<element name="other"
|
</complexType>
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="prov"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="dcpRecipientType">
|
<complexType name="dcpPurposeType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="other"
|
<element name="admin"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="ours" type="epp:dcpOursType"
|
<element name="contact"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0"/>
|
||||||
<element name="public"
|
<element name="other"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="same"
|
<element name="prov"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="unrelated"
|
</sequence>
|
||||||
minOccurs="0"/>
|
</complexType>
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="dcpOursType">
|
<complexType name="dcpRecipientType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="recDesc" type="epp:dcpRecDescType"
|
<element name="other"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
<element name="ours" type="epp:dcpOursType"
|
||||||
</complexType>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
<element name="public"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="same"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="unrelated"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="dcpRecDescType">
|
<complexType name="dcpOursType">
|
||||||
<restriction base="token">
|
<sequence>
|
||||||
<minLength value="1"/>
|
<element name="recDesc" type="epp:dcpRecDescType"
|
||||||
<maxLength value="255"/>
|
minOccurs="0"/>
|
||||||
</restriction>
|
</sequence>
|
||||||
</simpleType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="dcpRetentionType">
|
<simpleType name="dcpRecDescType">
|
||||||
<choice>
|
<restriction base="token">
|
||||||
<element name="business"/>
|
<minLength value="1"/>
|
||||||
<element name="indefinite"/>
|
<maxLength value="255"/>
|
||||||
<element name="legal"/>
|
</restriction>
|
||||||
<element name="none"/>
|
</simpleType>
|
||||||
<element name="stated"/>
|
|
||||||
</choice>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="dcpExpiryType">
|
<complexType name="dcpRetentionType">
|
||||||
<choice>
|
<choice>
|
||||||
<element name="absolute" type="dateTime"/>
|
<element name="business"/>
|
||||||
<element name="relative" type="duration"/>
|
<element name="indefinite"/>
|
||||||
</choice>
|
<element name="legal"/>
|
||||||
</complexType>
|
<element name="none"/>
|
||||||
|
<element name="stated"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<complexType name="dcpExpiryType">
|
||||||
Extension framework types.
|
<choice>
|
||||||
-->
|
<element name="absolute" type="dateTime"/>
|
||||||
<complexType name="extAnyType">
|
<element name="relative" type="duration"/>
|
||||||
<sequence>
|
</choice>
|
||||||
<any namespace="##other"
|
</complexType>
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="extURIType">
|
<!--
|
||||||
<sequence>
|
Extension framework types.
|
||||||
<element name="extURI" type="anyURI"
|
-->
|
||||||
maxOccurs="unbounded"/>
|
<complexType name="extAnyType">
|
||||||
</sequence>
|
<sequence>
|
||||||
</complexType>
|
<any namespace="##other"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<complexType name="extURIType">
|
||||||
An EPP version number is a dotted pair of decimal numbers.
|
<sequence>
|
||||||
-->
|
<element name="extURI" type="anyURI"
|
||||||
<simpleType name="versionType">
|
maxOccurs="unbounded"/>
|
||||||
<restriction base="token">
|
</sequence>
|
||||||
<pattern value="[1-9]+\.[0-9]+"/>
|
</complexType>
|
||||||
<enumeration value="1.0"/>
|
|
||||||
</restriction>
|
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Command types.
|
An EPP version number is a dotted pair of decimal numbers.
|
||||||
-->
|
-->
|
||||||
<complexType name="commandType">
|
<simpleType name="versionType">
|
||||||
<sequence>
|
<restriction base="token">
|
||||||
<choice>
|
<pattern value="[1-9]+\.[0-9]+"/>
|
||||||
<element name="check" type="epp:readWriteType"/>
|
<enumeration value="1.0"/>
|
||||||
<element name="create" type="epp:readWriteType"/>
|
</restriction>
|
||||||
<element name="delete" type="epp:readWriteType"/>
|
</simpleType>
|
||||||
<element name="info" type="epp:readWriteType"/>
|
|
||||||
<element name="login" type="epp:loginType"/>
|
|
||||||
<element name="logout"/>
|
|
||||||
<element name="poll" type="epp:pollType"/>
|
|
||||||
<element name="renew" type="epp:readWriteType"/>
|
|
||||||
<element name="transfer" type="epp:transferType"/>
|
|
||||||
<element name="update" type="epp:readWriteType"/>
|
|
||||||
</choice>
|
|
||||||
<element name="extension" type="epp:extAnyType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<element name="clTRID" type="epp:trIDStringType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
The <login> command.
|
Command types.
|
||||||
-->
|
-->
|
||||||
<complexType name="loginType">
|
<complexType name="commandType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="clID" type="eppcom:clIDType"/>
|
<choice>
|
||||||
<element name="pw" type="epp:pwType"/>
|
<element name="check" type="epp:readWriteType"/>
|
||||||
<element name="newPW" type="epp:pwType"
|
<element name="create" type="epp:readWriteType"/>
|
||||||
minOccurs="0"/>
|
<element name="delete" type="epp:readWriteType"/>
|
||||||
<element name="options" type="epp:credsOptionsType"/>
|
<element name="info" type="epp:readWriteType"/>
|
||||||
<element name="svcs" type="epp:loginSvcType"/>
|
<element name="login" type="epp:loginType"/>
|
||||||
</sequence>
|
<element name="logout"/>
|
||||||
</complexType>
|
<element name="poll" type="epp:pollType"/>
|
||||||
|
<element name="renew" type="epp:readWriteType"/>
|
||||||
|
<element name="transfer" type="epp:transferType"/>
|
||||||
|
<element name="update" type="epp:readWriteType"/>
|
||||||
|
</choice>
|
||||||
|
<element name="extension" type="epp:extAnyType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="clTRID" type="epp:trIDStringType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="credsOptionsType">
|
<!--
|
||||||
<sequence>
|
The <login> command.
|
||||||
<element name="version" type="epp:versionType"/>
|
-->
|
||||||
<element name="lang" type="language"/>
|
<complexType name="loginType">
|
||||||
</sequence>
|
<sequence>
|
||||||
</complexType>
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
|
<element name="pw" type="epp:pwType"/>
|
||||||
|
<element name="newPW" type="epp:pwType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="options" type="epp:credsOptionsType"/>
|
||||||
|
<element name="svcs" type="epp:loginSvcType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pwType">
|
<complexType name="credsOptionsType">
|
||||||
<restriction base="token">
|
<sequence>
|
||||||
<minLength value="6"/>
|
<element name="version" type="epp:versionType"/>
|
||||||
<maxLength value="16"/>
|
<element name="lang" type="language"/>
|
||||||
</restriction>
|
</sequence>
|
||||||
</simpleType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="loginSvcType">
|
<simpleType name="pwType">
|
||||||
<sequence>
|
<restriction base="token">
|
||||||
<element name="objURI" type="anyURI"
|
<minLength value="6"/>
|
||||||
maxOccurs="unbounded"/>
|
<maxLength value="16"/>
|
||||||
<element name="svcExtension" type="epp:extURIType"
|
</restriction>
|
||||||
minOccurs="0"/>
|
</simpleType>
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<complexType name="loginSvcType">
|
||||||
The <poll> command.
|
<sequence>
|
||||||
-->
|
<element name="objURI" type="anyURI"
|
||||||
<complexType name="pollType">
|
maxOccurs="unbounded"/>
|
||||||
<attribute name="op" type="epp:pollOpType"
|
<element name="svcExtension" type="epp:extURIType"
|
||||||
use="required"/>
|
minOccurs="0"/>
|
||||||
<attribute name="msgID" type="token"/>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="pollOpType">
|
<!--
|
||||||
<restriction base="token">
|
The <poll> command.
|
||||||
<enumeration value="ack"/>
|
-->
|
||||||
<enumeration value="req"/>
|
<complexType name="pollType">
|
||||||
</restriction>
|
<attribute name="op" type="epp:pollOpType"
|
||||||
</simpleType>
|
use="required"/>
|
||||||
|
<attribute name="msgID" type="token"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<simpleType name="pollOpType">
|
||||||
The <transfer> command. This is object-specific, and uses attributes
|
<restriction base="token">
|
||||||
to identify the requested operation.
|
<enumeration value="ack"/>
|
||||||
-->
|
<enumeration value="req"/>
|
||||||
<complexType name="transferType">
|
</restriction>
|
||||||
<sequence>
|
</simpleType>
|
||||||
<any namespace="##other"/>
|
|
||||||
</sequence>
|
|
||||||
<attribute name="op" type="epp:transferOpType"
|
|
||||||
use="required"/>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<simpleType name="transferOpType">
|
<!--
|
||||||
<restriction base="token">
|
The <transfer> command. This is object-specific, and uses attributes
|
||||||
<enumeration value="approve"/>
|
to identify the requested operation.
|
||||||
<enumeration value="cancel"/>
|
-->
|
||||||
<enumeration value="query"/>
|
<complexType name="transferType">
|
||||||
<enumeration value="reject"/>
|
<sequence>
|
||||||
<enumeration value="request"/>
|
<any namespace="##other"/>
|
||||||
</restriction>
|
</sequence>
|
||||||
</simpleType>
|
<attribute name="op" type="epp:transferOpType"
|
||||||
|
use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<simpleType name="transferOpType">
|
||||||
All other object-centric commands. EPP doesn't specify the syntax or
|
<restriction base="token">
|
||||||
semantics of object-centric command elements. The elements MUST be
|
<enumeration value="approve"/>
|
||||||
described in detail in another schema specific to the object.
|
<enumeration value="cancel"/>
|
||||||
-->
|
<enumeration value="query"/>
|
||||||
<complexType name="readWriteType">
|
<enumeration value="reject"/>
|
||||||
<sequence>
|
<enumeration value="request"/>
|
||||||
<any namespace="##other"/>
|
</restriction>
|
||||||
</sequence>
|
</simpleType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="trIDType">
|
<!--
|
||||||
<sequence>
|
All other object-centric commands. EPP doesn't specify the syntax or
|
||||||
<element name="clTRID" type="epp:trIDStringType"
|
semantics of object-centric command elements. The elements MUST be
|
||||||
minOccurs="0"/>
|
described in detail in another schema specific to the object.
|
||||||
<element name="svTRID" type="epp:trIDStringType"/>
|
-->
|
||||||
</sequence>
|
<complexType name="readWriteType">
|
||||||
</complexType>
|
<sequence>
|
||||||
|
<any namespace="##other"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="trIDStringType">
|
<complexType name="trIDType">
|
||||||
<restriction base="token">
|
<sequence>
|
||||||
<minLength value="3"/>
|
<element name="clTRID" type="epp:trIDStringType"
|
||||||
<maxLength value="64"/>
|
minOccurs="0"/>
|
||||||
</restriction>
|
<element name="svTRID" type="epp:trIDStringType"/>
|
||||||
</simpleType>
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<simpleType name="trIDStringType">
|
||||||
Response types.
|
<restriction base="token">
|
||||||
-->
|
<minLength value="3"/>
|
||||||
<complexType name="responseType">
|
<maxLength value="64"/>
|
||||||
<sequence>
|
</restriction>
|
||||||
<element name="result" type="epp:resultType"
|
</simpleType>
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
<element name="msgQ" type="epp:msgQType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
|
|
||||||
<element name="resData" type="epp:extAnyType"
|
<!--
|
||||||
minOccurs="0"/>
|
Response types.
|
||||||
<element name="extension" type="epp:extAnyType"
|
-->
|
||||||
minOccurs="0"/>
|
<complexType name="responseType">
|
||||||
<element name="trID" type="epp:trIDType"/>
|
<sequence>
|
||||||
</sequence>
|
<element name="result" type="epp:resultType"
|
||||||
</complexType>
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="msgQ" type="epp:msgQType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="resData" type="epp:extAnyType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="extension" type="epp:extAnyType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="trID" type="epp:trIDType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="resultType">
|
<complexType name="resultType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="msg" type="epp:msgType"/>
|
<element name="msg" type="epp:msgType"/>
|
||||||
<choice minOccurs="0" maxOccurs="unbounded">
|
<choice minOccurs="0" maxOccurs="unbounded">
|
||||||
<element name="value" type="epp:errValueType"/>
|
<element name="value" type="epp:errValueType"/>
|
||||||
<element name="extValue" type="epp:extErrValueType"/>
|
<element name="extValue" type="epp:extErrValueType"/>
|
||||||
</choice>
|
</choice>
|
||||||
</sequence>
|
</sequence>
|
||||||
<attribute name="code" type="epp:resultCodeType"
|
<attribute name="code" type="epp:resultCodeType"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="errValueType" mixed="true">
|
<complexType name="errValueType" mixed="true">
|
||||||
<sequence>
|
<sequence>
|
||||||
<any namespace="##any" processContents="skip"/>
|
<any namespace="##any" processContents="skip"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
<anyAttribute namespace="##any" processContents="skip"/>
|
<anyAttribute namespace="##any" processContents="skip"/>
|
||||||
</complexType>
|
</complexType>
|
||||||
<complexType name="extErrValueType">
|
|
||||||
<sequence>
|
|
||||||
<element name="value" type="epp:errValueType"/>
|
|
||||||
<element name="reason" type="epp:msgType"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="msgQType">
|
<complexType name="extErrValueType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="qDate" type="dateTime"
|
<element name="value" type="epp:errValueType"/>
|
||||||
minOccurs="0"/>
|
<element name="reason" type="epp:msgType"/>
|
||||||
<element name="msg" type="epp:mixedMsgType"
|
</sequence>
|
||||||
minOccurs="0"/>
|
</complexType>
|
||||||
</sequence>
|
|
||||||
<attribute name="count" type="unsignedLong"
|
|
||||||
use="required"/>
|
|
||||||
<attribute name="id" type="eppcom:minTokenType"
|
|
||||||
use="required"/>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<complexType name="mixedMsgType" mixed="true">
|
<complexType name="msgQType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<any processContents="skip"
|
<element name="qDate" type="dateTime"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
<element name="msg" type="epp:mixedMsgType"
|
||||||
<attribute name="lang" type="language"
|
minOccurs="0"/>
|
||||||
default="en"/>
|
</sequence>
|
||||||
</complexType>
|
<attribute name="count" type="unsignedLong"
|
||||||
|
use="required"/>
|
||||||
|
<attribute name="id" type="eppcom:minTokenType"
|
||||||
|
use="required"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<complexType name="mixedMsgType" mixed="true">
|
||||||
Human-readable text may be expressed in languages other than English.
|
<sequence>
|
||||||
-->
|
<any processContents="skip"
|
||||||
<complexType name="msgType">
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<simpleContent>
|
</sequence>
|
||||||
<extension base="normalizedString">
|
<attribute name="lang" type="language"
|
||||||
<attribute name="lang" type="language"
|
default="en"/>
|
||||||
default="en"/>
|
</complexType>
|
||||||
</extension>
|
|
||||||
</simpleContent>
|
<!--
|
||||||
</complexType>
|
Human-readable text may be expressed in languages other than English.
|
||||||
|
-->
|
||||||
|
<complexType name="msgType">
|
||||||
|
<simpleContent>
|
||||||
|
<extension base="normalizedString">
|
||||||
|
<attribute name="lang" type="language"
|
||||||
|
default="en"/>
|
||||||
|
</extension>
|
||||||
|
</simpleContent>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
EPP result codes.
|
||||||
|
-->
|
||||||
|
<simpleType name="resultCodeType">
|
||||||
|
<restriction base="unsignedShort">
|
||||||
|
<enumeration value="1000"/>
|
||||||
|
<enumeration value="1001"/>
|
||||||
|
<enumeration value="1300"/>
|
||||||
|
<enumeration value="1301"/>
|
||||||
|
<enumeration value="1500"/>
|
||||||
|
<enumeration value="2000"/>
|
||||||
|
<enumeration value="2001"/>
|
||||||
|
<enumeration value="2002"/>
|
||||||
|
<enumeration value="2003"/>
|
||||||
|
<enumeration value="2004"/>
|
||||||
|
<enumeration value="2005"/>
|
||||||
|
<enumeration value="2100"/>
|
||||||
|
<enumeration value="2101"/>
|
||||||
|
<enumeration value="2102"/>
|
||||||
|
<enumeration value="2103"/>
|
||||||
|
<enumeration value="2104"/>
|
||||||
|
<enumeration value="2105"/>
|
||||||
|
<enumeration value="2106"/>
|
||||||
|
<enumeration value="2200"/>
|
||||||
|
<enumeration value="2201"/>
|
||||||
|
<enumeration value="2202"/>
|
||||||
|
<enumeration value="2300"/>
|
||||||
|
<enumeration value="2301"/>
|
||||||
|
<enumeration value="2302"/>
|
||||||
|
<enumeration value="2303"/>
|
||||||
|
<enumeration value="2304"/>
|
||||||
|
<enumeration value="2305"/>
|
||||||
|
<enumeration value="2306"/>
|
||||||
|
<enumeration value="2307"/>
|
||||||
|
<enumeration value="2308"/>
|
||||||
|
<enumeration value="2400"/>
|
||||||
|
<enumeration value="2500"/>
|
||||||
|
<enumeration value="2501"/>
|
||||||
|
<enumeration value="2502"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
End of schema.
|
||||||
|
-->
|
||||||
|
</schema>
|
||||||
|
|
||||||
<!--
|
|
||||||
EPP result codes.
|
|
||||||
-->
|
|
||||||
<simpleType name="resultCodeType">
|
|
||||||
<restriction base="unsignedShort">
|
|
||||||
<enumeration value="1000"/>
|
|
||||||
<enumeration value="1001"/>
|
|
||||||
<enumeration value="1300"/>
|
|
||||||
<enumeration value="1301"/>
|
|
||||||
<enumeration value="1500"/>
|
|
||||||
<enumeration value="2000"/>
|
|
||||||
<enumeration value="2001"/>
|
|
||||||
<enumeration value="2002"/>
|
|
||||||
<enumeration value="2003"/>
|
|
||||||
<enumeration value="2004"/>
|
|
||||||
<enumeration value="2005"/>
|
|
||||||
<enumeration value="2100"/>
|
|
||||||
<enumeration value="2101"/>
|
|
||||||
<enumeration value="2102"/>
|
|
||||||
<enumeration value="2103"/>
|
|
||||||
<enumeration value="2104"/>
|
|
||||||
<enumeration value="2105"/>
|
|
||||||
<enumeration value="2106"/>
|
|
||||||
<enumeration value="2200"/>
|
|
||||||
<enumeration value="2201"/>
|
|
||||||
<enumeration value="2202"/>
|
|
||||||
<enumeration value="2300"/>
|
|
||||||
<enumeration value="2301"/>
|
|
||||||
<enumeration value="2302"/>
|
|
||||||
<enumeration value="2303"/>
|
|
||||||
<enumeration value="2304"/>
|
|
||||||
<enumeration value="2305"/>
|
|
||||||
<enumeration value="2306"/>
|
|
||||||
<enumeration value="2307"/>
|
|
||||||
<enumeration value="2308"/>
|
|
||||||
<enumeration value="2400"/>
|
|
||||||
<enumeration value="2500"/>
|
|
||||||
<enumeration value="2501"/>
|
|
||||||
<enumeration value="2502"/>
|
|
||||||
</restriction>
|
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
End of schema.
|
|
||||||
-->
|
|
||||||
</schema>
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ Abstract client and object identifier type.
|
||||||
<simpleType name="clIDType">
|
<simpleType name="clIDType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<minLength value="3"/>
|
<minLength value="3"/>
|
||||||
|
<!-- <maxLength value="16"/> -->
|
||||||
</restriction>
|
</restriction>
|
||||||
</simpleType>
|
</simpleType>
|
||||||
|
|
||||||
|
|
|
@ -1,244 +1,238 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<schema targetNamespace="urn:ietf:params:xml:ns:host-1.0"
|
<schema targetNamespace="urn:ietf:params:xml:ns:host-1.0"
|
||||||
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||||||
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Import common element types.
|
Import common element types.
|
||||||
-->
|
-->
|
||||||
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"
|
<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"/>
|
||||||
<import namespace="urn:ietf:params:xml:ns:epp-1.0"
|
|
||||||
schemaLocation="epp-1.0.xsd"/>
|
|
||||||
|
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Extensible Provisioning Protocol v1.0
|
Extensible Provisioning Protocol v1.0
|
||||||
host provisioning schema.
|
host provisioning schema.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements found in EPP commands.
|
Child elements found in EPP commands.
|
||||||
-->
|
-->
|
||||||
<element name="check" type="host:mNameType"/>
|
<element name="check" type="host:mNameType"/>
|
||||||
<element name="create" type="host:createType"/>
|
<element name="create" type="host:createType"/>
|
||||||
<element name="delete" type="host:sNameType"/>
|
<element name="delete" type="host:sNameType"/>
|
||||||
<element name="info" type="host:sNameType"/>
|
<element name="info" type="host:sNameType"/>
|
||||||
<element name="update" type="host:updateType"/>
|
<element name="update" type="host:updateType"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <create> command.
|
Child elements of the <create> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="createType">
|
<complexType name="createType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="addr" type="host:addrType"
|
<element name="addr" type="host:addrType"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="addrType">
|
<complexType name="addrType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="host:addrStringType">
|
<extension base="host:addrStringType">
|
||||||
<attribute name="ip" type="host:ipType"
|
<attribute name="ip" type="host:ipType"
|
||||||
default="v4"/>
|
default="v4"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="addrStringType">
|
<simpleType name="addrStringType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<minLength value="3"/>
|
<minLength value="3"/>
|
||||||
<maxLength value="45"/>
|
<maxLength value="45"/>
|
||||||
</restriction>
|
</restriction>
|
||||||
</simpleType>
|
</simpleType>
|
||||||
|
<simpleType name="ipType">
|
||||||
<simpleType name="ipType">
|
<restriction base="token">
|
||||||
<restriction base="token">
|
<enumeration value="v4"/>
|
||||||
<enumeration value="v4"/>
|
<enumeration value="v6"/>
|
||||||
<enumeration value="v6"/>
|
</restriction>
|
||||||
</restriction>
|
</simpleType>
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <delete> and <info> commands.
|
Child elements of the <delete> and <info> commands.
|
||||||
-->
|
-->
|
||||||
<complexType name="sNameType">
|
<complexType name="sNameType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child element of commands that accept multiple names.
|
Child element of commands that accept multiple names.
|
||||||
-->
|
-->
|
||||||
<complexType name="mNameType">
|
<complexType name="mNameType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"
|
<element name="name" type="eppcom:labelType"
|
||||||
maxOccurs="unbounded"/>
|
maxOccurs="unbounded"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <update> command.
|
Child elements of the <update> command.
|
||||||
-->
|
-->
|
||||||
<complexType name="updateType">
|
<complexType name="updateType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="add" type="host:addRemType"
|
<element name="add" type="host:addRemType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="rem" type="host:addRemType"
|
<element name="rem" type="host:addRemType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="chg" type="host:chgType"
|
<element name="chg" type="host:chgType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be added or removed.
|
Data elements that can be added or removed.
|
||||||
-->
|
-->
|
||||||
<complexType name="addRemType">
|
<complexType name="addRemType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="addr" type="host:addrType"
|
<element name="addr" type="host:addrType"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<element name="status" type="host:statusType"
|
<element name="status" type="host:statusType"
|
||||||
minOccurs="0" maxOccurs="7"/>
|
minOccurs="0" maxOccurs="7"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Data elements that can be changed.
|
Data elements that can be changed.
|
||||||
-->
|
-->
|
||||||
<complexType name="chgType">
|
<complexType name="chgType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child response elements.
|
Child response elements.
|
||||||
-->
|
-->
|
||||||
<element name="chkData" type="host:chkDataType"/>
|
<element name="chkData" type="host:chkDataType"/>
|
||||||
<element name="creData" type="host:creDataType"/>
|
<element name="creData" type="host:creDataType"/>
|
||||||
<element name="infData" type="host:infDataType"/>
|
<element name="infData" type="host:infDataType"/>
|
||||||
<element name="panData" type="host:panDataType"/>
|
<element name="panData" type="host:panDataType"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<check> response elements.
|
<check> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="chkDataType">
|
<complexType name="chkDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="cd" type="host:checkType"
|
<element name="cd" type="host:checkType"
|
||||||
maxOccurs="unbounded"/>
|
maxOccurs="unbounded"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="checkType">
|
<complexType name="checkType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="host:checkNameType"/>
|
<element name="name" type="host:checkNameType"/>
|
||||||
<element name="reason" type="eppcom:reasonType"
|
<element name="reason" type="eppcom:reasonType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<complexType name="checkNameType">
|
<complexType name="checkNameType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="eppcom:labelType">
|
<extension base="eppcom:labelType">
|
||||||
<attribute name="avail" type="boolean"
|
<attribute name="avail" type="boolean"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<create> response elements.
|
<create> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="creDataType">
|
<complexType name="creDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="crDate" type="dateTime"/>
|
<element name="crDate" type="dateTime"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<info> response elements.
|
<info> response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="infDataType">
|
<complexType name="infDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="eppcom:labelType"/>
|
<element name="name" type="eppcom:labelType"/>
|
||||||
<element name="roid" type="eppcom:roidType"/>
|
<element name="roid" type="eppcom:roidType"/>
|
||||||
<element name="status" type="host:statusType"
|
<element name="status" type="host:statusType"
|
||||||
maxOccurs="7"/>
|
maxOccurs="7"/>
|
||||||
<element name="addr" type="host:addrType"
|
<element name="addr" type="host:addrType"
|
||||||
minOccurs="0" maxOccurs="unbounded"/>
|
minOccurs="0" maxOccurs="unbounded"/>
|
||||||
<element name="clID" type="eppcom:clIDType"/>
|
<element name="clID" type="eppcom:clIDType"/>
|
||||||
<element name="crID" type="eppcom:clIDType"/>
|
<element name="crID" type="eppcom:clIDType"/>
|
||||||
<element name="crDate" type="dateTime"/>
|
<element name="crDate" type="dateTime"/>
|
||||||
<element name="upID" type="eppcom:clIDType"
|
<element name="upID" type="eppcom:clIDType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="upDate" type="dateTime"
|
<element name="upDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
<element name="trDate" type="dateTime"
|
<element name="trDate" type="dateTime"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Status is a combination of attributes and an optional human-readable
|
Status is a combination of attributes and an optional human-readable
|
||||||
message that may be expressed in languages other than English.
|
message that may be expressed in languages other than English.
|
||||||
-->
|
-->
|
||||||
<complexType name="statusType">
|
<complexType name="statusType">
|
||||||
<simpleContent>
|
<simpleContent>
|
||||||
<extension base="normalizedString">
|
<extension base="normalizedString">
|
||||||
<attribute name="s" type="host:statusValueType"
|
<attribute name="s" type="host:statusValueType"
|
||||||
use="required"/>
|
use="required"/>
|
||||||
<attribute name="lang" type="language"
|
<attribute name="lang" type="language"
|
||||||
default="en"/>
|
default="en"/>
|
||||||
</extension>
|
</extension>
|
||||||
</simpleContent>
|
</simpleContent>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
|
||||||
<simpleType name="statusValueType">
|
<simpleType name="statusValueType">
|
||||||
<restriction base="token">
|
<restriction base="token">
|
||||||
<enumeration value="clientDeleteProhibited"/>
|
<enumeration value="clientDeleteProhibited"/>
|
||||||
<enumeration value="clientUpdateProhibited"/>
|
<enumeration value="clientUpdateProhibited"/>
|
||||||
<enumeration value="linked"/>
|
<enumeration value="linked"/>
|
||||||
<enumeration value="ok"/>
|
<enumeration value="ok"/>
|
||||||
<enumeration value="pendingCreate"/>
|
<enumeration value="pendingCreate"/>
|
||||||
<enumeration value="pendingDelete"/>
|
<enumeration value="pendingDelete"/>
|
||||||
<enumeration value="pendingTransfer"/>
|
<enumeration value="pendingTransfer"/>
|
||||||
<enumeration value="pendingUpdate"/>
|
<enumeration value="pendingUpdate"/>
|
||||||
<enumeration value="serverDeleteProhibited"/>
|
<enumeration value="serverDeleteProhibited"/>
|
||||||
<enumeration value="serverUpdateProhibited"/>
|
<enumeration value="serverUpdateProhibited"/>
|
||||||
</restriction>
|
</restriction>
|
||||||
</simpleType>
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Pending action notification response elements.
|
Pending action notification response elements.
|
||||||
-->
|
-->
|
||||||
<complexType name="panDataType">
|
<complexType name="panDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="name" type="host:paNameType"/>
|
<element name="name" type="host:paNameType"/>
|
||||||
<element name="paTRID" type="epp:trIDType"/>
|
<element name="paTRID" type="epp:trIDType"/>
|
||||||
<element name="paDate" type="dateTime"/>
|
<element name="paDate" type="dateTime"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
</complexType>
|
</complexType>
|
||||||
|
<complexType name="paNameType">
|
||||||
<complexType name="paNameType">
|
<simpleContent>
|
||||||
<simpleContent>
|
<extension base="eppcom:labelType">
|
||||||
<extension base="eppcom:labelType">
|
<attribute name="paResult" type="boolean"
|
||||||
<attribute name="paResult" type="boolean"
|
use="required"/>
|
||||||
use="required"/>
|
</extension>
|
||||||
</extension>
|
</simpleContent>
|
||||||
</simpleContent>
|
</complexType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
End of schema.
|
End of schema.
|
||||||
-->
|
-->
|
||||||
</schema>
|
</schema>
|
63
lib/schemas/keyrelay-1.0.xsd
Normal file
63
lib/schemas/keyrelay-1.0.xsd
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<schema targetNamespace="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0"
|
||||||
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||||||
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||||||
|
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
|
||||||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
|
<annotation>
|
||||||
|
<documentation>
|
||||||
|
Extensible Provisioning Protocol v1.0 protocol
|
||||||
|
extension schema for relaying DNSSEC key material.
|
||||||
|
</documentation>
|
||||||
|
</annotation>
|
||||||
|
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
|
||||||
|
<import namespace="urn:ietf:params:xml:ns:domain-1.0"/>
|
||||||
|
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType" />
|
||||||
|
<element name="infData" type="keyrelay:infDataType" />
|
||||||
|
<element name="create" type="keyrelay:createType" />
|
||||||
|
|
||||||
|
<complexType name="createType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="infDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="name" type="eppcom:labelType"/>
|
||||||
|
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
|
||||||
|
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="crDate" type="dateTime"/>
|
||||||
|
<element name="reID" type="eppcom:clIDType" />
|
||||||
|
<element name="acID" type="eppcom:clIDType" />
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="keyRelayDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="keyData" type="secDNS:keyDataType" />
|
||||||
|
<element name="expiry" type="keyrelay:keyRelayExpiryType"
|
||||||
|
minOccurs="0" />
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<complexType name="keyRelayExpiryType">
|
||||||
|
<choice>
|
||||||
|
<element name="absolute" type="dateTime" />
|
||||||
|
<element name="relative" type="duration" />
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
</schema>
|
|
@ -1,130 +1,134 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<schema
|
<schema
|
||||||
targetNamespace="urn:ietf:params:xml:ns:secDNS-1.1"
|
targetNamespace="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
|
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
|
||||||
xmlns="http://www.w3.org/2001/XMLSchema"
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
elementFormDefault="qualified">
|
elementFormDefault="qualified">
|
||||||
|
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Extensible Provisioning Protocol v1.0
|
Extensible Provisioning Protocol v1.0
|
||||||
domain name extension schema
|
domain name extension schema
|
||||||
for provisioning DNS security (DNSSEC) extensions.
|
for provisioning DNS security (DNSSEC) extensions.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements found in EPP commands.
|
Child elements found in EPP commands.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<element name="create" type="secDNS:dsOrKeyType"/>
|
<element name="create" type="secDNS:dsOrKeyType"/>
|
||||||
<element name="update" type="secDNS:updateType"/>
|
<element name="update" type="secDNS:updateType"/>
|
||||||
|
|
||||||
<!--
|
|
||||||
Child elements supporting either the
|
|
||||||
dsData or the keyData interface.
|
|
||||||
-->
|
|
||||||
<complexType name="dsOrKeyType">
|
|
||||||
<sequence>
|
|
||||||
<element name="maxSigLife" type="secDNS:maxSigLifeType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
<choice>
|
|
||||||
<element name="dsData" type="secDNS:dsDataType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
<element name="keyData" type="secDNS:keyDataType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
</choice>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Definition for the maximum signature lifetime (maxSigLife)
|
Child elements supporting either the
|
||||||
-->
|
dsData or the keyData interface.
|
||||||
<simpleType name="maxSigLifeType">
|
-->
|
||||||
<restriction base="int">
|
<complexType name="dsOrKeyType">
|
||||||
<minInclusive value="1"/>
|
<sequence>
|
||||||
</restriction>
|
<element name="maxSigLife" type="secDNS:maxSigLifeType"
|
||||||
</simpleType>
|
minOccurs="0"/>
|
||||||
|
<choice>
|
||||||
|
<element name="dsData" type="secDNS:dsDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="keyData" type="secDNS:keyDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</choice>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<!--
|
|
||||||
Child elements of dsData used for dsData interface
|
|
||||||
-->
|
|
||||||
<complexType name="dsDataType">
|
|
||||||
<sequence>
|
|
||||||
<element name="keyTag" type="unsignedShort"/>
|
|
||||||
<element name="alg" type="unsignedByte"/>
|
|
||||||
<element name="digestType" type="unsignedByte"/>
|
|
||||||
<element name="digest" type="hexBinary"/>
|
|
||||||
<element name="keyData" type="secDNS:keyDataType"
|
|
||||||
minOccurs="0"/>
|
|
||||||
</sequence>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Child elements of keyData used for keyData interface
|
|
||||||
and optionally with dsData interface
|
|
||||||
-->
|
|
||||||
<complexType name="keyDataType">
|
|
||||||
|
|
||||||
<sequence>
|
<!--
|
||||||
<element name="flags" type="unsignedShort"/>
|
Definition for the maximum signature life (maxSigLife)
|
||||||
<element name="protocol" type="unsignedByte"/>
|
-->
|
||||||
<element name="alg" type="unsignedByte"/>
|
<simpleType name="maxSigLifeType">
|
||||||
<element name="pubKey" type="secDNS:keyType"/>
|
<restriction base="int">
|
||||||
</sequence>
|
<minInclusive value="1"/>
|
||||||
</complexType>
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
|
||||||
Definition for the public key
|
|
||||||
-->
|
|
||||||
<simpleType name="keyType">
|
|
||||||
<restriction base="base64Binary">
|
|
||||||
<minLength value="1"/>
|
|
||||||
</restriction>
|
|
||||||
</simpleType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements of the <update> element.
|
Child elements of dsData used for dsData interface
|
||||||
-->
|
-->
|
||||||
<complexType name="updateType">
|
<complexType name="dsDataType">
|
||||||
<sequence>
|
<sequence>
|
||||||
<element name="rem" type="secDNS:remType"
|
<element name="keyTag" type="unsignedShort"/>
|
||||||
minOccurs="0"/>
|
<element name="alg" type="unsignedByte"/>
|
||||||
<element name="add" type="secDNS:dsOrKeyType"
|
<element name="digestType" type="unsignedByte"/>
|
||||||
minOccurs="0"/>
|
<element name="digest" type="hexBinary"/>
|
||||||
<element name="chg" type="secDNS:chgType"
|
<element name="keyData" type="secDNS:keyDataType"
|
||||||
minOccurs="0"/>
|
minOccurs="0"/>
|
||||||
</sequence>
|
</sequence>
|
||||||
<attribute name="urgent" type="boolean" default="false"/>
|
</complexType>
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Child elements of the <rem> command.
|
|
||||||
-->
|
|
||||||
<complexType name="remType">
|
|
||||||
<choice>
|
|
||||||
<element name="all" type="boolean"/>
|
|
||||||
<element name="dsData" type="secDNS:dsDataType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
<element name="keyData" type="secDNS:keyDataType"
|
|
||||||
maxOccurs="unbounded"/>
|
|
||||||
</choice>
|
|
||||||
</complexType>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child elements supporting the <chg> element.
|
Child elements of keyData used for keyData interface
|
||||||
-->
|
and optionally with dsData interface
|
||||||
|
-->
|
||||||
|
<complexType name="keyDataType">
|
||||||
|
<sequence>
|
||||||
|
<element name="flags" type="unsignedShort"/>
|
||||||
|
<element name="protocol" type="unsignedByte"/>
|
||||||
|
<element name="alg" type="unsignedByte"/>
|
||||||
|
<element name="pubKey" type="secDNS:keyType"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
<complexType name="chgType">
|
<!--
|
||||||
<sequence>
|
Definition for the public key
|
||||||
<element name="maxSigLife" type="secDNS:maxSigLifeType"
|
-->
|
||||||
minOccurs="0"/>
|
<simpleType name="keyType">
|
||||||
</sequence>
|
<restriction base="base64Binary">
|
||||||
</complexType>
|
<minLength value="1"/>
|
||||||
|
</restriction>
|
||||||
|
</simpleType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Child response elements.
|
Child elements of the <update> element.
|
||||||
-->
|
-->
|
||||||
<element name="infData" type="secDNS:dsOrKeyType"/>
|
<complexType name="updateType">
|
||||||
|
<sequence>
|
||||||
|
<element name="rem" type="secDNS:remType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="add" type="secDNS:dsOrKeyType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
<element name="chg" type="secDNS:chgType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
<attribute name="urgent" type="boolean" default="false"/>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements of the <rem> command.
|
||||||
|
-->
|
||||||
|
<complexType name="remType">
|
||||||
|
<choice>
|
||||||
|
<element name="all" type="boolean"/>
|
||||||
|
<element name="dsData" type="secDNS:dsDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<element name="keyData" type="secDNS:keyDataType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</choice>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child elements supporting the <chg> element.
|
||||||
|
-->
|
||||||
|
<complexType name="chgType">
|
||||||
|
<sequence>
|
||||||
|
<element name="maxSigLife" type="secDNS:maxSigLifeType"
|
||||||
|
minOccurs="0"/>
|
||||||
|
</sequence>
|
||||||
|
</complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Child response elements.
|
||||||
|
-->
|
||||||
|
<element name="infData" type="secDNS:dsOrKeyType"/>
|
||||||
|
|
||||||
</schema>
|
</schema>
|
||||||
|
|
|
@ -57,6 +57,7 @@ namespace :import do
|
||||||
Rake::Task['import:reserved'].invoke
|
Rake::Task['import:reserved'].invoke
|
||||||
Rake::Task['import:domains'].invoke
|
Rake::Task['import:domains'].invoke
|
||||||
Rake::Task['import:zones'].invoke
|
Rake::Task['import:zones'].invoke
|
||||||
|
Rake::Task['zonefile:replace_procedure'].invoke
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Import registrars'
|
desc 'Import registrars'
|
||||||
|
@ -172,11 +173,15 @@ namespace :import do
|
||||||
x.acl.all.each do |y|
|
x.acl.all.each do |y|
|
||||||
next if existing_ips.include?(y.ipaddr)
|
next if existing_ips.include?(y.ipaddr)
|
||||||
if !y.ipaddr.nil? && y.ipaddr != ''
|
if !y.ipaddr.nil? && y.ipaddr != ''
|
||||||
ips << WhiteIp.new({
|
|
||||||
registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id),
|
y.ipaddr.split(',').each do |ip|
|
||||||
ipv4: y.ipaddr,
|
ips << WhiteIp.new({
|
||||||
interfaces: ['api', 'registrar']
|
registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id),
|
||||||
})
|
ipv4: ip,
|
||||||
|
interfaces: ['api', 'registrar']
|
||||||
|
})
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -103,8 +103,8 @@ namespace :zonefile do
|
||||||
SELECT array_to_string(
|
SELECT array_to_string(
|
||||||
array(
|
array(
|
||||||
SELECT concat(
|
SELECT concat(
|
||||||
d.name_puny, '. IN DS ', dk.ds_key_tag, ' ',
|
d.name_puny, '. 3600 IN DS ', dk.ds_key_tag, ' ',
|
||||||
dk.ds_alg, ' ', dk.ds_digest_type, ' ( ', dk.ds_digest, ' )'
|
dk.ds_alg, ' ', dk.ds_digest_type, ' ', dk.ds_digest
|
||||||
)
|
)
|
||||||
FROM domains d
|
FROM domains d
|
||||||
JOIN dnskeys dk ON dk.domain_id = d.id
|
JOIN dnskeys dk ON dk.domain_id = d.id
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue