relaton-un 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/macos.yml +32 -0
- data/.github/workflows/ubuntu.yml +32 -0
- data/.github/workflows/windows.yml +35 -0
- data/.gitignore +15 -0
- data/.rspec +3 -0
- data/.rubocop.yml +10 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +21 -0
- data/README.adoc +115 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/grammars/basicdoc.rng +986 -0
- data/grammars/biblio.rng +1142 -0
- data/grammars/isodoc.rng +1028 -0
- data/grammars/reqt.rng +165 -0
- data/grammars/un.rng +242 -0
- data/lib/relaton_un.rb +21 -0
- data/lib/relaton_un/hash_converter.rb +5 -0
- data/lib/relaton_un/hit.rb +58 -0
- data/lib/relaton_un/hit_collection.rb +106 -0
- data/lib/relaton_un/processor.rb +41 -0
- data/lib/relaton_un/un_bibliographic_item.rb +8 -0
- data/lib/relaton_un/un_bibliography.rb +43 -0
- data/lib/relaton_un/version.rb +3 -0
- data/lib/relaton_un/xml_parser.rb +16 -0
- data/relaton_un.gemspec +46 -0
- data/resp.html +163 -0
- metadata +229 -0
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "net/http"
|
4
|
+
require "http-cookie"
|
5
|
+
|
6
|
+
module RelatonUn
|
7
|
+
# Page of hit collection.
|
8
|
+
class HitCollection < RelatonBib::HitCollection
|
9
|
+
AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
|
10
|
+
DOMAIN = "https://documents.un.org"
|
11
|
+
BOUNDARY = "----WebKitFormBoundary6hkaBvITDck8dHCn"
|
12
|
+
|
13
|
+
# @param text [String] reference to search
|
14
|
+
def initialize(text)
|
15
|
+
super
|
16
|
+
@uri = URI.parse DOMAIN
|
17
|
+
@jar = HTTP::CookieJar.new
|
18
|
+
@http = Net::HTTP.new @uri.host, @uri.port
|
19
|
+
@http.use_ssl = true
|
20
|
+
if (form_resp = get_page)
|
21
|
+
form = Nokogiri::HTML form_resp.body
|
22
|
+
form_data = form.xpath(
|
23
|
+
"//input[@type!='radio']",
|
24
|
+
"//input[@type='radio'][@checked]",
|
25
|
+
"//select[@name!='view:_id1:_id2:cbLang']",
|
26
|
+
"//textarea"
|
27
|
+
).reduce([]) do |m, i|
|
28
|
+
v = case i[:name]
|
29
|
+
when "view:_id1:_id2:txtSymbol" then text
|
30
|
+
when "view:_id1:_id2:cbType" then "FP"
|
31
|
+
when "view:_id1:_id2:cbSort" then "R"
|
32
|
+
when "$$xspsubmitid" then "view:_id1:_id2:_id130"
|
33
|
+
when "$$xspsubmitscroll" then "0|167"
|
34
|
+
else i[:value]
|
35
|
+
end
|
36
|
+
m << %{--#{BOUNDARY}}
|
37
|
+
m << %{Content-Disposition: form-data; name="#{i[:name]}"\r\n\r\n#{v}}
|
38
|
+
end
|
39
|
+
form_data << %{--#{BOUNDARY}--\r\n}
|
40
|
+
req = Net::HTTP::Post.new form.at("//form")[:action]
|
41
|
+
set_headers req
|
42
|
+
req["Content-Type"] = "multipart/form-data, boundary=#{BOUNDARY}"
|
43
|
+
req.body = form_data.join("\r\n")
|
44
|
+
resp = @http.request req
|
45
|
+
page_resp = get_page URI.parse(resp["location"]).request_uri
|
46
|
+
doc = Nokogiri::HTML page_resp.body
|
47
|
+
@array = doc.css("div.viewHover").map do |item|
|
48
|
+
ref = item.at("div/div/a")&.text&.sub "\u00A0", ""
|
49
|
+
title = item.at("div/div/span")&.text
|
50
|
+
keyword = item.at("div[3]/div[5]/span")&.text
|
51
|
+
date_pub = item.at("//label[.='Publication Date: ']/following-sibling::span")&.text
|
52
|
+
en = item.at("//span[.='ENGLISH']/../..")
|
53
|
+
date_rel = en.at("./following-sibling::span[contains(@id, 'cfRelDateE')]").text
|
54
|
+
link = en.xpath("//a[contains(@title, 'Open')]").map do |l|
|
55
|
+
{ content: l[:href], type: l[:title].match(/PDF|Word/).to_s.downcase }
|
56
|
+
end
|
57
|
+
Hit.new({
|
58
|
+
ref: ref,
|
59
|
+
title: title,
|
60
|
+
keyword: keyword,
|
61
|
+
date_pub: date_pub,
|
62
|
+
date_rel: date_rel,
|
63
|
+
link: link
|
64
|
+
}, self)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
# @param location [String]
|
72
|
+
# @param deeep [Integer]
|
73
|
+
# @return [Strinf, NilClass]
|
74
|
+
def get_page(location = "/", deep = 0)
|
75
|
+
return if deep > 3
|
76
|
+
|
77
|
+
req = Net::HTTP::Get.new location
|
78
|
+
set_headers req
|
79
|
+
resp = @http.request req
|
80
|
+
resp.get_fields("set-cookie")&.each { |v| @jar.parse v, @uri }
|
81
|
+
return resp if resp.code == "200"
|
82
|
+
|
83
|
+
request_uri = URI.parse(resp["location"]).request_uri
|
84
|
+
get_page request_uri, deep + 1
|
85
|
+
end
|
86
|
+
|
87
|
+
def set_headers(req)
|
88
|
+
set_cookie req
|
89
|
+
req["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
|
90
|
+
req["Accept-Encoding"] = "gzip, deflate, br"
|
91
|
+
req["Cache-Control"] = "max-age=0"
|
92
|
+
req["Connection"] = "keep-alive"
|
93
|
+
req["Origin"] = "https://documents.un.org"
|
94
|
+
req["Referer"] = "https://documents.un.org/prod/ods.nsf/home.xsp"
|
95
|
+
req["Sec-Fetch-Mode"] = "navigate"
|
96
|
+
req["Sec-Fetch-Site"] = "same-origin"
|
97
|
+
req["Sec-Fetch-User"] = "?1"
|
98
|
+
req["Upgrade-Insecure-Requests"] = "1"
|
99
|
+
req["User-Agent"] = AGENT
|
100
|
+
end
|
101
|
+
|
102
|
+
def set_cookie(req)
|
103
|
+
req["Cookie"] = HTTP::Cookie.cookie_value @jar.cookies(@uri)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require "relaton/processor"
|
2
|
+
|
3
|
+
module RelatonUn
|
4
|
+
class Processor < Relaton::Processor
|
5
|
+
attr_reader :idtype
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@short = :relaton_un
|
9
|
+
@prefix = "UN"
|
10
|
+
@defaultprefix = %r{^UN\s}
|
11
|
+
@idtype = "UN"
|
12
|
+
end
|
13
|
+
|
14
|
+
# @param code [String]
|
15
|
+
# @param date [String, NilClass] year
|
16
|
+
# @param opts [Hash]
|
17
|
+
# @return [RelatonUn::UnBibliographicItem]
|
18
|
+
def get(code, date, opts)
|
19
|
+
::RelatonUn::UnBibliography.get(code, date, opts)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @param xml [String]
|
23
|
+
# @return [RelatonIsoBib::IsoBibliographicItem]
|
24
|
+
def from_xml(xml)
|
25
|
+
::RelatonUn::XMLParser.from_xml xml
|
26
|
+
end
|
27
|
+
|
28
|
+
# @param hash [Hash]
|
29
|
+
# @return [RelatonIsoBib::IsoBibliographicItem]
|
30
|
+
def hash_to_bib(hash)
|
31
|
+
item_hash = ::RelatonUn::HashConverter.hash_to_bib(hash)
|
32
|
+
::RelatonIsoBib::UnBibliographicItem.new item_hash
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns hash of XML grammar
|
36
|
+
# @return [String]
|
37
|
+
def grammar_hash
|
38
|
+
@grammar_hash ||= ::RelatonUn.grammar_hash
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RelatonUn
|
4
|
+
# Class methods for search ISO standards.
|
5
|
+
class UnBibliography
|
6
|
+
class << self
|
7
|
+
# @param text [String]
|
8
|
+
# @return [RelatonUn::HitCollection]
|
9
|
+
def search(text)
|
10
|
+
HitCollection.new text
|
11
|
+
rescue SocketError, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
12
|
+
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError,
|
13
|
+
OpenSSL::SSL::SSLError, Errno::ETIMEDOUT
|
14
|
+
raise RelatonBib::RequestError, "Could not access #{HitCollection::DOMAIN}"
|
15
|
+
end
|
16
|
+
|
17
|
+
# @param ref [String] document reference
|
18
|
+
# @param year [String, NilClass]
|
19
|
+
# @param opts [Hash] options
|
20
|
+
# @return [RelatonUn::UnBibliographicItem]
|
21
|
+
def get(ref, _year = nil, _opts = {})
|
22
|
+
warn "[relaton-un] (\"#{ref}\") fetching..."
|
23
|
+
/^(UN\s)?(?<code>.*)/ =~ ref
|
24
|
+
result = isobib_search_filter(code)
|
25
|
+
if result
|
26
|
+
warn "[relaton-un] (\"#{ref}\") found #{result.fetch.docidentifier.first.id}"
|
27
|
+
result.fetch
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
# Search for hits.
|
34
|
+
#
|
35
|
+
# @param code [String] reference without correction
|
36
|
+
# @return [RelatonUn::HitCollection]
|
37
|
+
def isobib_search_filter(code)
|
38
|
+
result = search(code)
|
39
|
+
result.select { |i| i.hit[:ref] == code }.first
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module RelatonUn
|
2
|
+
class XMLParser < RelatonBib::XMLParser
|
3
|
+
class << self
|
4
|
+
def from_xml(xml)
|
5
|
+
doc = Nokogiri::XML xml
|
6
|
+
doc.remove_namespaces!
|
7
|
+
titem = doc.at("/bibitem|/bibdata")
|
8
|
+
if titem
|
9
|
+
UnBibliographicItem.new(item_data(titem))
|
10
|
+
else
|
11
|
+
warn "[relaton-un] can't find bibitem or bibdata element in the XML"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/relaton_un.gemspec
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'relaton_un/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "relaton-un"
|
7
|
+
spec.version = RelatonUn::VERSION
|
8
|
+
spec.authors = ["Ribose Inc."]
|
9
|
+
spec.email = ["open.source@ribose.com"]
|
10
|
+
|
11
|
+
spec.summary = "RelatonIso: retrieve CC Standards for bibliographic use "\
|
12
|
+
"using the IsoBibliographicItem model"
|
13
|
+
spec.description = "RelatonIso: retrieve CC Standards for bibliographic use "\
|
14
|
+
"using the IsoBibliographicItem model"
|
15
|
+
spec.homepage = "https://github.com/relaton/relaton-un"
|
16
|
+
spec.license = "BSD-2-Clause"
|
17
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
18
|
+
|
19
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
20
|
+
|
21
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
22
|
+
# spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
|
23
|
+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
24
|
+
|
25
|
+
# Specify which files should be added to the gem when it is released.
|
26
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
27
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
28
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
29
|
+
end
|
30
|
+
spec.bindir = "exe"
|
31
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
|
+
spec.require_paths = ["lib"]
|
33
|
+
|
34
|
+
spec.add_development_dependency "debase"
|
35
|
+
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
36
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
37
|
+
spec.add_development_dependency "ruby-debug-ide"
|
38
|
+
spec.add_development_dependency "ruby-jing"
|
39
|
+
spec.add_development_dependency "simplecov"
|
40
|
+
spec.add_development_dependency "vcr"
|
41
|
+
spec.add_development_dependency "webmock"
|
42
|
+
|
43
|
+
spec.add_dependency "faraday"
|
44
|
+
spec.add_dependency "http-cookie"
|
45
|
+
spec.add_dependency "relaton-bib", "~> 0.8.0"
|
46
|
+
end
|
data/resp.html
ADDED
@@ -0,0 +1,163 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<title>Official Document System of the United Nations</title>
|
5
|
+
<link rel="SHORTCUT ICON" href="/prod/ods.nsf/un_fav_icon_0.png">
|
6
|
+
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
|
7
|
+
<meta name="viewport" content="initial-scale=1,user-scalable=no,maximum-scale=1,height=device-height">
|
8
|
+
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto%3A400%2C100%2C100italic%2C300%2C300italic%2C400italic%2C500%2C500italic%2C700%2C700italic%2C900%2C900italic">
|
9
|
+
<link rel="stylesheet" type="text/css" href="/xsp/.ibmxspres/.mini/css/2Eabootstrap/xsptheme/xsp.css&2Eabootstrap/bootstrap311/css/bootstrap.css&@Da&2Eabootstrap/xpages300.css.css">
|
10
|
+
<script type="text/javascript">var dojoConfig = {locale: 'en', parseOnLoad: true};</script>
|
11
|
+
<script type="text/javascript" src="/xsp/.ibmxspres/dojoroot-1.9.7/dojo/dojo.js"></script>
|
12
|
+
<script type="text/javascript">dojo.registerModulePath("extlib", "/xsp/.ibmxspres/.extlib");</script>
|
13
|
+
<script type="text/javascript" src="/xsp/.ibmxspres/.mini/dojo/.en/@Je&-extlib.dijit.BootstrapPickerSelect2&@Ek&@Ie.js"></script>
|
14
|
+
<script type="text/javascript">dojo.require("ibm.xsp.widget.layout.xspClientDojo")</script>
|
15
|
+
<script type="text/javascript">dojo.require("dojo.parser")</script>
|
16
|
+
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/bootstrap/jquery182/js/jquery-1.8.2.min.js"></script>
|
17
|
+
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/bootstrap/bootstrap311/js/bootstrap.min.js"></script>
|
18
|
+
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/bootstrap/xpages300.js"></script>
|
19
|
+
<script type="text/javascript">dojo.require("dijit.Dialog")</script>
|
20
|
+
<script type="text/javascript">dojo.require("extlib.dijit.Picker")</script>
|
21
|
+
<script type="text/javascript">dojo.require("ibm.xsp.widget.layout.DateTextBox")</script>
|
22
|
+
<script type="text/javascript">dojo.require("extlib.dijit.BootstrapPickerSelect2")</script>
|
23
|
+
<link rel="stylesheet" type="text/css" href="/prod/ods.nsf/xsp/.ibmmodres/.css/main.css&un.css&font-awesome-4.4.0%2Fcss%2Ffont-awesome.min.css&subjFixes.css">
|
24
|
+
<script type="text/javascript" src="/prod/ods.nsf/csjsCommon"></script>
|
25
|
+
</head>
|
26
|
+
<body class="xsp tundra">
|
27
|
+
<form id="view:_id1" method="post" action="/prod/ods.nsf/home.xsp" enctype="multipart/form-data">
|
28
|
+
<a class="sr-only" href="#mainContent">Skip to main content</a><div class="navbar navbar-default navbar-fixed-top" id="brand-bar" role="navigation"><div class="container brandbar-header"><div class="row"><div class="col-md-4"><a id="view:_id1:_id2:_id9" href="http://www.un.org/en/index.html" class="navbar-brand" target="_blank"><i class="fa fa-home fa-fw fa-lg paddingR"></i> Welcome to the United Nations</a></div><div class="col-md-8 language-switcher"><button class="navbar-toggle collapsed" data-target="#language-switcher" data-toggle="collapse" type="button"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><div class="language-title visible-xs-inline"><a data-target="#language-switcher" data-toggle="collapse" href="javascript:void(0)">Language:</a></div><div class="navbar-collapse collapse" id="language-switcher"><nav role="navigation"><ul class="language-switcher-locale-url nav navbar-nav navbar-right" role="menu"><li class="ar first"><a id="view:_id1:_id2:linkA" href="#" class="language-link">العربية</a></li><li class="zh-hans"><a id="view:_id1:_id2:linkC" href="#" class="language-link">中文</a></li><li class="en"><a id="view:_id1:_id2:linkE" href="#" class="language-link langOn">English</a></li><li class="fr"><a id="view:_id1:_id2:linkF" href="#" class="language-link">Français</a></li><li class="ru"><a id="view:_id1:_id2:linkR" href="#" class="language-link">Русский</a></li><li class="es"><a id="view:_id1:_id2:linkS" href="#" class="language-link">Español</a></li><li class="dropdown last"><a class="dropdown-toggle" data-toggle="dropdown" href="#" id="otherLangs"> Other <span class="caret"></span></a><ul aria-labelledby="otherLangs" class="dropdown-menu" role="menu"><li><a id="view:_id1:_id2:linkG" href="#" class="language-link">Deutsch</a></li></ul></li></ul></nav></div></div></div></div></div><header class="navbar container navbar-default" id="navbar" role="banner"><div class="container"><div class="navbar-header"><a id="view:_id1:_id2:_id43" href="http://www.un.org/en/index.html" class="logo navbar-btn pull-left flip" title="United Nations" target="_blank"><img id="view:_id1:_id2:_id44" src="/prod/ods.nsf/logo-un.png" alt="" class="unLogo"></a><a id="view:_id1:_id2:_id45" href="/prod/ods.nsf/home.xsp" class="name navbar-brand" title="ODS Home">Official Document System</a><a href="http://unite.un.org" target="_blank"><img alt="Unite" class="uniteLogo" src="powered-by-unite.png"></a></div><div class="hidden"><span id="view:_id1:_id2:cfMsg">Due to the United Nations Critical Application Disaster Recovery Exercise, Official Document System may be intermittently unavailable from Friday, 3 November 2017 10:00 PM to Saturday, 4 November 7:00 AM (EDT). </span></div>
|
29
|
+
</div></header><div id="searchbar"><div class="container"><div class="row"><div class="col-md-12"><a id="view:_id1:_id2:linkFTSearch" href="http://search.un.org/results.php?tpl=ods&lang=en" class="unBlue" title="Unite Search" target="_blank"><i class="fa fa-search"></i> Unite Search</a><a id="view:_id1:_id2:banner_btn_login" href="#" class="unBlue marginLinks" title="Login"><i class="fa fa-unlock"></i> Login</a><div dojoType="dijit.Dialog" href="/prod/ods.nsf?login&redirectto=/prod/ods.nsf/home.xsp" id="view:_id1:_id2:showLoginDialog" style="overflow:auto;" title="Login!!"></div>
|
30
|
+
<a id="view:_id1:_id2:linkHelp" href="/prod/ods.nsf/xpHelp.xsp" class="unBlue marginLinks" title="Help Information"><i class="fa fa-info-circle"></i> Help</a></div></div><div><div class="row"><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblSymbol" for="view:_id1:_id2:txtSymbol" class="control-label lbl">Symbol</label></div><div class="col-md-4 col-xs-12"><input type="text" id="view:_id1:_id2:txtSymbol" name="view:_id1:_id2:txtSymbol" class="form-control form-control" placeholder="Enter symbol"></div><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblTrunc" for="view:_id1:_id2:rgTrunc" class="control-label lbl">Truncation</label></div><div class="col-md-4 col-xs-12"><fieldset id="view:_id1:_id2:rgTrunc" class="radio radio2" onchangeTrigger="early-onclick"><table role="presentation" class="radio radio2">
|
31
|
+
<tr>
|
32
|
+
<td>
|
33
|
+
<label for="view:_id1:_id2:rgTrunc:0"><input type="radio" checked id="view:_id1:_id2:rgTrunc:0" name="view:_id1:_id2:rgTrunc" value="R">Right</label></td>
|
34
|
+
<td>
|
35
|
+
<label for="view:_id1:_id2:rgTrunc:1"><input type="radio" id="view:_id1:_id2:rgTrunc:1" name="view:_id1:_id2:rgTrunc" value="L">Left</label></td>
|
36
|
+
<td>
|
37
|
+
<label for="view:_id1:_id2:rgTrunc:2"><input type="radio" id="view:_id1:_id2:rgTrunc:2" name="view:_id1:_id2:rgTrunc" value="RL">Right & Left</label></td>
|
38
|
+
<td>
|
39
|
+
<label for="view:_id1:_id2:rgTrunc:3"><input type="radio" id="view:_id1:_id2:rgTrunc:3" name="view:_id1:_id2:rgTrunc" value="N">None</label></td>
|
40
|
+
</tr>
|
41
|
+
</table></fieldset></div></div><div class="row"><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblWrds" for="view:_id1:_id2:txtWrds" class="control-label lbl">Word(s) in the title</label></div><div class="col-md-4 col-xs-12"><input type="text" id="view:_id1:_id2:txtWrds" name="view:_id1:_id2:txtWrds" class="form-control form-control" placeholder="Enter Words of the title (English only)"></div><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblSubj" for="view:_id1:_id2:txtSubj" class="control-label lbl">Subject</label></div><div class="col-md-4 col-xs-12"><input type="text" id="view:_id1:_id2:txtSubj" name="view:_id1:_id2:txtSubj" class="form-control disabled form-control" placeholder="Enter Subject"><a href="javascript:;" onclick="return XSP.selectValue('extlib.dijit.PickerListSearch',{"msep":",","trim":true,"dlgTitle":"Select from list","control":"view:_id1:_id2:txtSubj","url":"\/prod\/ods.nsf\/home.xsp?$$viewid=!ekbv2yres2iiwwuft7y287goy!&$$axtarget=view:_id1:_id2:vpSubjs"})" onkeydown="javascript:var kc=event.keyCode?event.keyCode:event.which;if(kc==32){ return XSP.selectValue('extlib.dijit.PickerListSearch',{"msep":",","trim":true,"dlgTitle":"Select from list","control":"view:_id1:_id2:txtSubj","url":"\/prod\/ods.nsf\/home.xsp?$$viewid=!ekbv2yres2iiwwuft7y287goy!&$$axtarget=view:_id1:_id2:vpSubjs"})}" role="button"><img src="/xsp/.ibmxspres/.extlib/icons/iconValuePicker.png" alt="Open Picker"></a></div></div><div class="row"><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblPubDate" for="view:_id1:_id2:dtPubDateFrom" class="control-label lbl">Date of publication</label></div><div class="col-md-2 col-xs-6"><input type="text" id="view:_id1:_id2:dtPubDateFrom" name="view:_id1:_id2:dtPubDateFrom" class="form-control form-control" dojoType="ibm.xsp.widget.layout.DateTextBox" iconStyleClass="xspInputFieldDatePickerIcon" constraints="{datePattern:"dd/MM/yyyy",selector:"date"}"></div><div class="col-md-2 col-xs-6"><input type="text" id="view:_id1:_id2:dtPubDateTo" name="view:_id1:_id2:dtPubDateTo" class="form-control form-control" dojoType="ibm.xsp.widget.layout.DateTextBox" iconStyleClass="xspInputFieldDatePickerIcon" constraints="{datePattern:"dd/MM/yyyy",selector:"date"}"></div><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblRelDate" for="view:_id1:_id2:dtRelDateFrom" class="control-label lbl">Date of release</label></div><div class="col-md-2 col-xs-6"><input type="text" id="view:_id1:_id2:dtRelDateFrom" name="view:_id1:_id2:dtRelDateFrom" class="form-control form-control" dojoType="ibm.xsp.widget.layout.DateTextBox" iconStyleClass="xspInputFieldDatePickerIcon" constraints="{datePattern:"dd/MM/yyyy",selector:"date"}"></div><div class="col-md-2 col-xs-6"><input type="text" id="view:_id1:_id2:dtRelDateTo" name="view:_id1:_id2:dtRelDateTo" class="form-control form-control" dojoType="ibm.xsp.widget.layout.DateTextBox" iconStyleClass="xspInputFieldDatePickerIcon" constraints="{datePattern:"dd/MM/yyyy",selector:"date"}"></div></div><div class="row"><div class="col-md-2 col-xs-12"><label id="view:_id1:_id2:lblJobNo" for="view:_id1:_id2:txtJobNo" class="control-label lbl">Job Number</label></div><div class="col-md-4 col-xs-12"><input type="text" id="view:_id1:_id2:txtJobNo" name="view:_id1:_id2:txtJobNo" class="form-control form-control" placeholder="Enter Job Number"></div><div class="col-md-2 col-xs-6"><label id="view:_id1:_id2:lblSess" for="view:_id1:_id2:txtSess" class="control-label lbl">Session / Year</label></div><div class="col-md-1 col-xs-2"><input type="text" id="view:_id1:_id2:txtSess" name="view:_id1:_id2:txtSess" class="form-control form-control" placeholder=""></div><div class="col-md-2 col-xs-6"><label id="view:_id1:_id2:lblAgItem" for="view:_id1:_id2:txtAgItem" class="control-label lbl">Agenda Item Number</label></div><div class="col-md-1 col-xs-2"><input type="text" id="view:_id1:_id2:txtAgItem" name="view:_id1:_id2:txtAgItem" class="form-control form-control" placeholder=""></div></div><div class="row"><div class="col-md-6 col-xs-12"><div class="col-md-4 col-xs-12 marginM15"><label id="view:_id1:_id2:lblFTSrch" for="view:_id1:_id2:txtFTSrch" class="control-label lbl">Full-text search</label></div><div class="col-md-8 col-xs-12 margin10"><textarea id="view:_id1:_id2:txtFTSrch" name="view:_id1:_id2:txtFTSrch" rows="2" class="form-control form-control" placeholder="Enter text to search"></textarea></div></div><div class="col-md-6 col-xs-12"><div class="row"><div class="col-md-4 col-xs-12 marginM15"><label id="view:_id1:_id2:lblLang" for="view:_id1:_id2:cbLang" class="control-label lbl">Language for full-text:</label></div><div class="col-md-8 col-xs-12 margin10"><select id="view:_id1:_id2:cbLang" name="view:_id1:_id2:cbLang" class="form-control form-control" size="3"> <option value="A">Arabic</option>
|
42
|
+
<option value="C">Chinese</option>
|
43
|
+
<option value="E">English</option>
|
44
|
+
<option value="F">French</option>
|
45
|
+
<option value="R">Russian</option>
|
46
|
+
<option value="S">Spanish</option>
|
47
|
+
</select>
|
48
|
+
<script>new extlib.dijit.BootstrapPickerSelect2({"placeHolder":null,"formatResult":null,"forId":"view:_id1:_id2:cbLang","formatSelection":null,"useRemoteData":false,"thisId":"select2PickerCombo1","isNativeSelect":true,"allowClearing":false});</script>
|
49
|
+
</div></div><div class="row"><div class="col-md-4 col-xs-12 marginM15"><label id="view:_id1:_id2:lblType" for="view:_id1:_id2:cbType" class="control-label lbl">Type of full-text search</label></div><div class="col-md-8 col-xs-12 margin10"><select id="view:_id1:_id2:cbType" name="view:_id1:_id2:cbType" class="form-control" size="1"> <option value="FP">Find this phrase</option>
|
50
|
+
<option value="FW">Find all the words</option>
|
51
|
+
<option value="FA">Find any of the words</option>
|
52
|
+
<option value="BO">Use boolean operators</option>
|
53
|
+
</select>
|
54
|
+
<script>new extlib.dijit.BootstrapPickerSelect2({"placeHolder":null,"formatResult":null,"forId":"view:_id1:_id2:cbType","formatSelection":null,"useRemoteData":false,"thisId":"select2PickerCombo2","isNativeSelect":true,"allowClearing":false});</script>
|
55
|
+
</div></div><div class="row"><div class="col-md-4 col-xs-12 marginM15"><label id="view:_id1:_id2:lblSort" for="view:_id1:_id2:cbSort" class="control-label lbl">Sort</label></div><div class="col-md-8 col-xs-12 margin10"><select id="view:_id1:_id2:cbSort" name="view:_id1:_id2:cbSort" class="form-control" size="1"> <option value="R">Sort by relevance</option>
|
56
|
+
<option value="DD">Sort by date - descending</option>
|
57
|
+
<option value="DA">Sort by date - ascending</option>
|
58
|
+
<option value="S">Sort by symbol</option>
|
59
|
+
</select>
|
60
|
+
<script>new extlib.dijit.BootstrapPickerSelect2({"placeHolder":null,"formatResult":null,"forId":"view:_id1:_id2:cbSort","formatSelection":null,"useRemoteData":false,"thisId":"select2PickerCombo3","isNativeSelect":true,"allowClearing":false});</script>
|
61
|
+
</div></div></div></div><br><div class="row"><div class="col-md-2 hideMobile"></div><div class="col-md-1 col-xs-3"><button class="btn btn-sm btnUNBlue" type="button" name="view:_id1:_id2:btnRefine" id="view:_id1:_id2:btnRefine">Search</button></div><div class="col-md-1 col-xs-3"><button class="btn btn-sm" type="button" name="view:_id1:_id2:btnClear" id="view:_id1:_id2:btnClear">Clear</button></div><div class="col-md-1 col-xs-3 hidden"><button class="btn btn-sm" type="button" name="view:_id1:_id2:btnSave" id="view:_id1:_id2:btnSave">Save Search by...</button></div>
|
62
|
+
</div><input type="hidden" id="view:_id1:_id2:hdnSubj" name="view:_id1:_id2:hdnSubj" value=""></div></div></div><div class="container" id="mainContent"><div id="view:_id1:_id2:cbMain">
|
63
|
+
<div class="panelHeight">
|
64
|
+
<div class="row"><div class="col-md-4"><h5><span class="ucase">DAILY DOCUMENTS</span></h5><span id="view:_id1:_id2:cbMain:cfDDs"><p><a href="http://www.un.org/en/documents/journal.asp" target="_blank"><i class="fa fa-file"></i>  Daily Journal (New York)</a></p> <p><a href="http://daccess-ods.un.org/ods/dailyListOfDocuments.htm" target="_blank"><i class="fa fa-file"></i>  Daily Documents</a></p> <p><a href="http://www.unog.ch/__80256ee600586f34.nsf/httpDailyBulletin_External?ReadForm" target="_blank"><i class="fa fa-file"></i>  Daily Bulletin (Geneva)</a></p></span></div><div class="col-md-4"><h5><span class="ucase">MOST DOWNLOADED DOCUMENTS (1-5)</span></h5><span id="view:_id1:_id2:cbMain:cfMDDs1"><p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/RES/70/1&Lang=E" target="_blank"><i class="fa fa-file"></i>  A/RES/70/1</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/RES/73/195&Lang=E" target="_blank"><i class="fa fa-file"></i>  A/RES/73/195</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=E/2019/68&Lang=E" target="_blank"><i class="fa fa-file"></i>  E/2019/68</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=S/AC.44/2019/18&Lang=E" target="_blank"><i class="fa fa-file"></i>  S/AC.44/2019/18</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/RES/217(III)&Lang=E" target="_blank"><i class="fa fa-file"></i>  A/RES/217(III)</a></p></span></div><div class="col-md-4"><h5><span class="ucase">MOST DOWNLOADED DOCUMENTS (6-10)</span></h5><span id="view:_id1:_id2:cbMain:cfMDDs2"><p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=S/RES/2511(2020)&Lang=E" target="_blank"><i class="fa fa-file"></i>  S/RES/2511(2020)</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/74/102/ADD.2&Lang=E" target="_blank"><i class="fa fa-file"></i>  A/74/102/ADD.2</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=S/2020/157&Lang=E" target="_blank"><i class="fa fa-file"></i>  S/2020/157</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=A/RES/71/1&Lang=E" target="_blank"><i class="fa fa-file"></i>  A/RES/71/1</a></p> <p><a href="http://daccess-ods.un.org/access.nsf/Get?Open&DS=E/CN.6/2020/3&Lang=E" target="_blank"><i class="fa fa-file"></i>  E/CN.6/2020/3</a></p></span></div></div><p class="pageHeader">Official Document System of the United Nations</p><div class="row"><div class="col-md-12"><div id="view:_id1:_id2:cbMain:en">
|
65
|
+
<div id="view:_id1:_id2:cbMain:_id150:inputRichText1">The Official Document System (ODS) is an online database of UN documents that was first launched in 1993 and updated in 2016. ODS has full-text, born-digital UN documents published from 1993 onward, including documents of the Security Council, the General Assembly, the Economic and Social Council and their subsidiaries, as well as administrative issuances and other documents. <br>
|
66
|
+
<br>
|
67
|
+
The database also includes scanned documents published between 1946 and 1993, including all resolutions of the principal organs, all documents of the Security Council and the General Assembly Official Records. Documents are available in the official languages of the UN; some documents are also available in German. <br>
|
68
|
+
<br>
|
69
|
+
ODS does not have the following types of materials: documents issued before 1993 that have not yet been digitized, <a href="http://www.un.org/press/en" target="_blank">press releases</a>, <a href="https://shop.un.org/" target="_blank">sales publications</a>, such as the Yearbook and the <a href="https://treaties.un.org/" target="_blank">Treaty Series</a>, and documents that do not have a UN symbol. <br>
|
70
|
+
<br>
|
71
|
+
ODS is maintained by the <a href="https://unite.un.org/" target="_blank">Office of Information and Communications Technology (OICT)</a>. New documents are added by the Department for General Assembly and Conference Management (DGACM). Scanned documents and metadata are contributed by the Dag Hammarskjöld Library and the UN Office at Geneva Library. <br>
|
72
|
+
<br>
|
73
|
+
This website is best used in recent versions of all major browsers. To download multiple documents, please use Google Chrome or Opera.<br>
|
74
|
+
<br>
|
75
|
+
If you have any questions or problems, please contact the Information and Communications Technology Service Desk by <a href="mailto:helpdeskoict@un.org?Subject=ODS">e-mail</a>.</div></div>
|
76
|
+
</div></div></div>
|
77
|
+
</div>
|
78
|
+
</div><div class="container footerInfo noPrint"><div class="row list-inline"><div class="col-md-12"><div class="pull-left flip footer-brand"><a id="view:_id1:_id2:_id161" href="http://www.un.org/en/index.html" class="ucase" title="United Nations" target="_blank">United Nations</a></div><div class="pull-right flip"><p><a id="view:_id1:_id2:link6" href="/prod/ods.nsf/xfContactUs.xsp">Contact Us</a> | <a id="view:_id1:_id2:link1" href="/prod/ods.nsf/xpHelp.xsp">Help Information</a> | <a id="view:_id1:_id2:link5" href="http://www.un.org/en/sections/aboutun/fraud-alert/index.html" target="_blank">Fraud Alert</a> | <a id="view:_id1:_id2:link4" href="http://www.un.org/en/sections/about-website/privacy-notice/index.html" target="_blank">Privacy Notice</a> | <a id="view:_id1:_id2:link3" href="http://www.un.org/en/sections/about-website/terms-use/index.html" target="_blank">Terms of Use</a> | <a id="view:_id1:_id2:link2" href="http://www.un.org/en/aboutun/copyright/index.html" target="_blank">Copyright © United Nations 2016</a></p></div></div></div></div>
|
79
|
+
<input type="hidden" name="$$viewid" id="view:_id1__VUID" value="!ekbv2yres2iiwwuft7y287goy!">
|
80
|
+
<input type="hidden" name="$$xspsubmitid">
|
81
|
+
<input type="hidden" name="$$xspexecid">
|
82
|
+
<input type="hidden" name="$$xspsubmitvalue">
|
83
|
+
<input type="hidden" name="$$xspsubmitscroll">
|
84
|
+
<input type="hidden" name="view:_id1" value="view:_id1"></form>
|
85
|
+
<script type="text/javascript">
|
86
|
+
|
87
|
+
function view__id1__id2__id56_clientSide_onclick(thisEvent) {
|
88
|
+
dijit.byId("view:_id1:_id2:showLoginDialog").show();
|
89
|
+
|
90
|
+
}
|
91
|
+
|
92
|
+
function view__id1__id2__id68_clientSide_onkeypress(thisEvent) {
|
93
|
+
if (typeof thisEvent == 'undefined' && window.event) { thisEvent = window.event; }
|
94
|
+
if (thisEvent.keyCode == dojo.keys.ENTER)
|
95
|
+
{
|
96
|
+
dojo.byId("view:_id1:_id2:btnRefine").click();
|
97
|
+
thisEvent.preventDefault();
|
98
|
+
}
|
99
|
+
|
100
|
+
}
|
101
|
+
|
102
|
+
function view__id1__id2__id130_clientSide_onclick(thisEvent) {
|
103
|
+
// if FT, open Unite Search instead
|
104
|
+
/*var ftSrch = XSP.getElementById("view:_id1:_id2:txtFTSrch").value;
|
105
|
+
if(ftSrch != "") {
|
106
|
+
var vURL = "https://search.un.org/results.php?query=" + ftSrch + "&tpl=ods";
|
107
|
+
window.open(vURL);
|
108
|
+
return false;
|
109
|
+
};*/
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
function view__id1__id2__id132_clientSide_onclick(thisEvent) {
|
114
|
+
x$("").val('');
|
115
|
+
x$("").select2().select2("val", 'UN Documents');
|
116
|
+
x$("view:_id1:_id2:cbLang").select2().select2("val", '');
|
117
|
+
x$("view:_id1:_id2:txtSymbol").val(null);
|
118
|
+
$('[name$=rgTrunc]:checked').prop('checked', false);
|
119
|
+
x$("view:_id1:_id2:dtPubDateFrom").val('');
|
120
|
+
x$("view:_id1:_id2:dtPubDateTo").val('');
|
121
|
+
x$("view:_id1:_id2:dtRelDateFrom").val('');
|
122
|
+
x$("view:_id1:_id2:dtRelDateTo").val('');
|
123
|
+
x$("view:_id1:_id2:txtWrds").val('');
|
124
|
+
x$("view:_id1:_id2:txtSubj").val(null);
|
125
|
+
x$("view:_id1:_id2:txtSess").val('');
|
126
|
+
x$("view:_id1:_id2:txtAgItem").val('');
|
127
|
+
x$("view:_id1:_id2:txtFTSrch").val('');
|
128
|
+
x$("view:_id1:_id2:cbType").select2().select2("val", 'Find this phrase');
|
129
|
+
x$("view:_id1:_id2:txtJobNo").val('');
|
130
|
+
|
131
|
+
}
|
132
|
+
|
133
|
+
function view__id1__id2__id169_clientSide_onClientLoad(thisEvent) {
|
134
|
+
// default field
|
135
|
+
var input = dojo.query("input[type='text']")[0];
|
136
|
+
input.focus();
|
137
|
+
|
138
|
+
// disable subject field
|
139
|
+
$(".disabled").focus(function(){
|
140
|
+
$(this).blur();
|
141
|
+
});
|
142
|
+
|
143
|
+
}
|
144
|
+
|
145
|
+
XSP.addOnLoad(function() {
|
146
|
+
XSP.attachEvent("view:_id1:_id2:_id24", "view:_id1:_id2:linkA", "onclick", null, true, 2);
|
147
|
+
XSP.attachEvent("view:_id1:_id2:_id26", "view:_id1:_id2:linkC", "onclick", null, true, 2);
|
148
|
+
XSP.attachEvent("view:_id1:_id2:_id28", "view:_id1:_id2:linkE", "onclick", null, true, 2);
|
149
|
+
XSP.attachEvent("view:_id1:_id2:_id30", "view:_id1:_id2:linkF", "onclick", null, true, 2);
|
150
|
+
XSP.attachEvent("view:_id1:_id2:_id32", "view:_id1:_id2:linkR", "onclick", null, true, 2);
|
151
|
+
XSP.attachEvent("view:_id1:_id2:_id34", "view:_id1:_id2:linkS", "onclick", null, true, 2);
|
152
|
+
XSP.attachEvent("view:_id1:_id2:_id40", "view:_id1:_id2:linkG", "onclick", null, true, 2);
|
153
|
+
XSP.attachEvent("view:_id1:_id2:_id56", "view:_id1:_id2:banner_btn_login", "onclick", view__id1__id2__id56_clientSide_onclick, false, 2);
|
154
|
+
XSP.attachEvent("view:_id1:_id2:_id68", "view:_id1:_id2:txtSymbol", "onkeypress", view__id1__id2__id68_clientSide_onkeypress, false, 2);
|
155
|
+
XSP.attachEvent("view:_id1:_id2:_id130", "view:_id1:_id2:btnRefine", "onclick", view__id1__id2__id130_clientSide_onclick, true, 2);
|
156
|
+
XSP.attachEvent("view:_id1:_id2:_id132", "view:_id1:_id2:btnClear", "onclick", view__id1__id2__id132_clientSide_onclick, true, 2);
|
157
|
+
XSP.attachEvent("view:_id1:_id2:_id134", "view:_id1:_id2:btnSave", "onclick", null, true, 2);
|
158
|
+
XSP.attachEvent("view:_id1:_id2:_id169", "view:_id1:_id2", "onClientLoad", view__id1__id2__id169_clientSide_onClientLoad, false, 2);
|
159
|
+
});
|
160
|
+
|
161
|
+
</script>
|
162
|
+
</body>
|
163
|
+
</html>
|
metadata
ADDED
@@ -0,0 +1,229 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: relaton-un
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ribose Inc.
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-03-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: debase
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: equivalent-xml
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.6'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: ruby-debug-ide
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: ruby-jing
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: vcr
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: webmock
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: faraday
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: http-cookie
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: relaton-bib
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.8.0
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.8.0
|
167
|
+
description: 'RelatonIso: retrieve CC Standards for bibliographic use using the IsoBibliographicItem
|
168
|
+
model'
|
169
|
+
email:
|
170
|
+
- open.source@ribose.com
|
171
|
+
executables: []
|
172
|
+
extensions: []
|
173
|
+
extra_rdoc_files: []
|
174
|
+
files:
|
175
|
+
- ".github/workflows/macos.yml"
|
176
|
+
- ".github/workflows/ubuntu.yml"
|
177
|
+
- ".github/workflows/windows.yml"
|
178
|
+
- ".gitignore"
|
179
|
+
- ".rspec"
|
180
|
+
- ".rubocop.yml"
|
181
|
+
- Gemfile
|
182
|
+
- LICENSE.txt
|
183
|
+
- README.adoc
|
184
|
+
- Rakefile
|
185
|
+
- bin/console
|
186
|
+
- bin/rspec
|
187
|
+
- bin/setup
|
188
|
+
- grammars/basicdoc.rng
|
189
|
+
- grammars/biblio.rng
|
190
|
+
- grammars/isodoc.rng
|
191
|
+
- grammars/reqt.rng
|
192
|
+
- grammars/un.rng
|
193
|
+
- lib/relaton_un.rb
|
194
|
+
- lib/relaton_un/hash_converter.rb
|
195
|
+
- lib/relaton_un/hit.rb
|
196
|
+
- lib/relaton_un/hit_collection.rb
|
197
|
+
- lib/relaton_un/processor.rb
|
198
|
+
- lib/relaton_un/un_bibliographic_item.rb
|
199
|
+
- lib/relaton_un/un_bibliography.rb
|
200
|
+
- lib/relaton_un/version.rb
|
201
|
+
- lib/relaton_un/xml_parser.rb
|
202
|
+
- relaton_un.gemspec
|
203
|
+
- resp.html
|
204
|
+
homepage: https://github.com/relaton/relaton-un
|
205
|
+
licenses:
|
206
|
+
- BSD-2-Clause
|
207
|
+
metadata:
|
208
|
+
homepage_uri: https://github.com/relaton/relaton-un
|
209
|
+
post_install_message:
|
210
|
+
rdoc_options: []
|
211
|
+
require_paths:
|
212
|
+
- lib
|
213
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
+
requirements:
|
215
|
+
- - ">="
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: 2.4.0
|
218
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
requirements: []
|
224
|
+
rubygems_version: 3.0.6
|
225
|
+
signing_key:
|
226
|
+
specification_version: 4
|
227
|
+
summary: 'RelatonIso: retrieve CC Standards for bibliographic use using the IsoBibliographicItem
|
228
|
+
model'
|
229
|
+
test_files: []
|