require 'voruby/resources/voregistry/loader' require 'voruby/resources/voresource/voresource_v1_0' include VORuby::Resources::VOResource::V1_0 module VORuby module Resources module VORegistry module V1_0 # Forward declarations class Registry < Service; end class RegCapRestriction < Capability; end class Harvest < RegCapRestriction; end class ExtensionSearchSupport; end class OptionalProtocol; end class OAIHTTP < Interface; end class OAISOAP < WebService; end class Authority < Resource; end class Search < RegCapRestriction; end # A service that provides access to descriptions of resources. class Registry boolean_node :full, 'full', 'true', 'false', :optional => true, :default_value => false array_node :managed_authorities, 'managedAuthority', :class => AuthorityID, :optional => true, :default_values => [] end # An abstract capability that fixes the standardID to the IVOA ID for the Registry standard. class RegCapRestriction def standard_id=(id) @standard_id = URI.parse('ivo://ivoa.net/std/Registry') end end # The capabilities of the Registry Harvest implementation. class Harvest numeric_node :max_records, 'maxRecords', :optional => false, :default_value => 0 end # The level of support provided for searching against metadata defined in a legal VOResource extension schema. class ExtensionSearchSupport include XML::Mapping text_enumeration_node :value, '', :optional => false, :choices => ['core', 'partial', 'full'] end # The name of an optional advanced search protocol supported. class OptionalProtocol include XML::Mapping text_enumeration_node :value, '', :optional => false, :choices => ['XQuery'] end # A description of the standard OAI PMH interface using HTTP (GET or POST) queries. class OAIHTTP # end # A description of the standard OAI PMH interface using a SOAP Web Service interface. class OAISOAP # end # A naming authority; an assertion of control over a namespace represented by an authority identifier. class Authority object_node :managing_org, 'managingOrg', :class => ResourceName, :optional => true end # The capabilities of the Registry Search implementation. class Search numeric_node :max_records, 'maxRecords', :optional => false, :default_value => 0 object_node :extension_search_support, 'extensionSearchSupport', :class => ExtensionSearchSupport, :optional => false array_node :optional_protocol, 'optionalProtocol', :class => OptionalProtocol, :optional => true, :default_values => [] end end end end end