moxml 0.5.178 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/nightly-fuzz.yml +0 -14
- data/.github/workflows/performance-release.yml +0 -13
- data/.github/workflows/performance.yml +0 -17
- data/.github/workflows/rake.yml +0 -38
- data/.github/workflows/round-trip.yml +0 -45
- data/.github/workflows/windows.yml +0 -12
- data/Gemfile +4 -14
- data/README.adoc +5 -388
- data/Rakefile +2 -179
- data/docs/_references/processing-model.adoc +3 -2
- data/lib/moxml/adapter/customized_oga.rb +6 -4
- data/lib/moxml/adapter/customized_rexml/entity_reference.rb +3 -2
- data/lib/moxml/adapter/customized_rexml/formatter.rb +2 -2
- data/lib/moxml/adapter/customized_rexml.rb +5 -3
- data/lib/moxml/adapter/headed_ox.rb +0 -2
- data/lib/moxml/adapter/leptris.rb +0 -2
- data/lib/moxml/adapter/libxml.rb +0 -2
- data/lib/moxml/adapter/nokogiri.rb +0 -2
- data/lib/moxml/adapter/ox.rb +0 -2
- data/lib/moxml/adapter/rexml.rb +1 -3
- data/lib/moxml/adapter.rb +1 -11
- data/lib/moxml/config.rb +2 -26
- data/lib/moxml/entity_registry.rb +1 -5
- data/lib/moxml/native_attachment.rb +1 -3
- data/lib/moxml/reference/parser.rb +1 -2
- data/lib/moxml/reference/writer.rb +2 -2
- data/lib/moxml/reference.rb +1 -1
- data/lib/moxml/version.rb +1 -1
- data/lib/moxml/xml_utils.rb +1 -1
- data/lib/moxml.rb +1 -4
- data/spec/moxml/adapter/platform_spec.rb +2 -47
- data/spec/moxml/native_attachment_spec.rb +4 -50
- data/spec/moxml/signature/edge_cases_spec.rb +0 -1
- data/spec/spec_helper.rb +13 -31
- metadata +2 -22
- data/.github/workflows/opal.yml +0 -61
- data/.gitmodules +0 -6
- data/lib/compat/opal/moxml_boot.rb +0 -68
- data/lib/compat/opal/rexml/namespace.rb +0 -59
- data/lib/compat/opal/rexml/parsers/baseparser.rb +0 -1016
- data/lib/compat/opal/rexml/source.rb +0 -214
- data/lib/compat/opal/rexml/text.rb +0 -426
- data/lib/compat/opal/rexml/xmltokens.rb +0 -45
- data/lib/compat/opal/rexml_compat.rb +0 -77
- data/lib/moxml/entity_registry_opal_data.rb +0 -2138
- data/lib/moxml/native_attachment/opal.rb +0 -38
- data/spec/moxml/native_attachment/opal_spec.rb +0 -66
- data/spec/moxml/opal_oga_adapter_spec.rb +0 -20
- data/spec/moxml/opal_oga_features_spec.rb +0 -212
- data/spec/moxml/opal_oga_smoke_spec.rb +0 -35
- data/spec/moxml/opal_rexml_adapter_spec.rb +0 -14
- data/spec/moxml/opal_smoke_spec.rb +0 -61
- data/spec/moxml/reference_opal_spec.rb +0 -29
- data/spec/moxml/signature_autoload_spec.rb +0 -52
- data/spec/support/opal.rb +0 -16
data/.github/workflows/opal.yml
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
name: opal
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main]
|
|
6
|
-
tags: [ v* ]
|
|
7
|
-
pull_request:
|
|
8
|
-
|
|
9
|
-
# One live run per workflow+event+ref: a superseded push to the
|
|
10
|
-
# same PR/branch cancels its predecessors instead of queueing
|
|
11
|
-
# behind them (the runner queue otherwise stacks generations).
|
|
12
|
-
concurrency:
|
|
13
|
-
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
|
|
14
|
-
cancel-in-progress: true
|
|
15
|
-
|
|
16
|
-
permissions:
|
|
17
|
-
contents: read
|
|
18
|
-
|
|
19
|
-
jobs:
|
|
20
|
-
test:
|
|
21
|
-
runs-on: ubuntu-latest
|
|
22
|
-
steps:
|
|
23
|
-
- uses: actions/checkout@v6
|
|
24
|
-
with:
|
|
25
|
-
submodules: "recursive"
|
|
26
|
-
|
|
27
|
-
- name: Set up Ruby
|
|
28
|
-
uses: ruby/setup-ruby@v1
|
|
29
|
-
with:
|
|
30
|
-
ruby-version: "3.4"
|
|
31
|
-
# NOTE: bundler-cache is disabled because the path-source oga
|
|
32
|
-
# and ruby-ll forks need ragel + ruby-ll outputs generated
|
|
33
|
-
# (rake vendor:prepare) before their C extensions can compile.
|
|
34
|
-
bundler-cache: false
|
|
35
|
-
|
|
36
|
-
- name: Set up Node.js
|
|
37
|
-
uses: actions/setup-node@v4
|
|
38
|
-
with:
|
|
39
|
-
node-version: "18"
|
|
40
|
-
|
|
41
|
-
- name: Install ragel
|
|
42
|
-
run: sudo apt-get update && sudo apt-get install -y ragel
|
|
43
|
-
|
|
44
|
-
- name: Install ruby-ll (for rake vendor:prepare)
|
|
45
|
-
run: gem install ruby-ll --no-document
|
|
46
|
-
|
|
47
|
-
- name: Generate ragel / ruby-ll outputs in vendored forks
|
|
48
|
-
# Run before `bundle install`: the path-source oga/ruby-ll forks
|
|
49
|
-
# gitignore their generated .rb/.c files (parser.rb, lexer.rb,
|
|
50
|
-
# ext/c/lexer.c). bundle install compiles the C extensions via
|
|
51
|
-
# each fork's extconf.rb, which requires ext/c/lexer.c to exist.
|
|
52
|
-
run: rake vendor:prepare
|
|
53
|
-
|
|
54
|
-
- name: Install Opal dependencies
|
|
55
|
-
run: |
|
|
56
|
-
npm list -g opal-compiler || npm install -g opal-compiler
|
|
57
|
-
bundle install
|
|
58
|
-
bundle exec rake opal:generate_entity_data
|
|
59
|
-
|
|
60
|
-
- name: Run Opal tests
|
|
61
|
-
run: bundle exec rake spec:opal
|
data/.gitmodules
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Opal doesn't support Ruby autoload. This file explicitly requires
|
|
4
|
-
# all Moxml modules that would normally be lazy-loaded via autoload
|
|
5
|
-
# in lib/moxml.rb. Loaded by the Opal Rakefile before spec_helper.
|
|
6
|
-
|
|
7
|
-
require "moxml/version"
|
|
8
|
-
require "moxml/error"
|
|
9
|
-
require "moxml/native_attachment"
|
|
10
|
-
require "moxml/native_attachment/opal"
|
|
11
|
-
require "moxml/xml_utils"
|
|
12
|
-
require "moxml/xml_utils/encoder"
|
|
13
|
-
require "moxml/node"
|
|
14
|
-
require "moxml/node_set"
|
|
15
|
-
require "moxml/lazy_node_set"
|
|
16
|
-
require "moxml/document"
|
|
17
|
-
require "moxml/element"
|
|
18
|
-
require "moxml/attribute"
|
|
19
|
-
require "moxml/text"
|
|
20
|
-
require "moxml/cdata"
|
|
21
|
-
require "moxml/comment"
|
|
22
|
-
require "moxml/processing_instruction"
|
|
23
|
-
require "moxml/declaration"
|
|
24
|
-
require "moxml/namespace"
|
|
25
|
-
require "moxml/doctype"
|
|
26
|
-
require "moxml/entity_reference"
|
|
27
|
-
require "moxml/entity_registry"
|
|
28
|
-
require "moxml/entity_registry_opal_data"
|
|
29
|
-
require "moxml/entity"
|
|
30
|
-
require "moxml/entity/restorer"
|
|
31
|
-
require "moxml/entity/reference"
|
|
32
|
-
require "moxml/xml_emitter"
|
|
33
|
-
require "moxml/adapter"
|
|
34
|
-
require "moxml/adapter/base"
|
|
35
|
-
require "moxml/adapter/customized_rexml"
|
|
36
|
-
require "moxml/adapter/customized_rexml/entity_reference"
|
|
37
|
-
require "moxml/adapter/customized_rexml/formatter"
|
|
38
|
-
require "moxml/sax"
|
|
39
|
-
require "moxml/sax/handler"
|
|
40
|
-
require "moxml/sax/element_handler"
|
|
41
|
-
require "moxml/sax/block_handler"
|
|
42
|
-
require "moxml/sax/namespace_splitter"
|
|
43
|
-
require "moxml/adapter/rexml"
|
|
44
|
-
require "moxml/adapter/customized_oga"
|
|
45
|
-
require "moxml/adapter/customized_oga/entity_decoder"
|
|
46
|
-
require "moxml/adapter/customized_oga/raw_value_override"
|
|
47
|
-
require "moxml/adapter/customized_oga/xml_declaration"
|
|
48
|
-
require "moxml/adapter/customized_oga/xml_generator"
|
|
49
|
-
require "moxml/adapter/oga"
|
|
50
|
-
require "moxml/builder"
|
|
51
|
-
require "moxml/context"
|
|
52
|
-
require "moxml/config"
|
|
53
|
-
require "moxml/xpath"
|
|
54
|
-
require "moxml/xpath/engine"
|
|
55
|
-
require "moxml/xpath/context"
|
|
56
|
-
require "moxml/xpath/conversion"
|
|
57
|
-
require "moxml/xpath/cache"
|
|
58
|
-
require "moxml/xpath/lexer"
|
|
59
|
-
require "moxml/xpath/parser"
|
|
60
|
-
require "moxml/xpath/compiler"
|
|
61
|
-
require "moxml/xpath/errors"
|
|
62
|
-
require "moxml/xpath/ast/node"
|
|
63
|
-
require "moxml/xpath/ruby/node"
|
|
64
|
-
require "moxml/xpath/ruby/generator"
|
|
65
|
-
require "moxml/reference"
|
|
66
|
-
require "moxml/reference/parser"
|
|
67
|
-
require "moxml/reference/writer"
|
|
68
|
-
require "moxml/reference/normalizer"
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "rexml/xmltokens"
|
|
4
|
-
|
|
5
|
-
module REXML
|
|
6
|
-
module Namespace
|
|
7
|
-
attr_reader :name, :expanded_name
|
|
8
|
-
attr_accessor :prefix
|
|
9
|
-
|
|
10
|
-
include XMLTokens
|
|
11
|
-
|
|
12
|
-
NAME_WITHOUT_NAMESPACE = /^#{NCNAME_STR}$/
|
|
13
|
-
NAMESPLIT = /^(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})/u
|
|
14
|
-
|
|
15
|
-
def name=(name)
|
|
16
|
-
@expanded_name = name
|
|
17
|
-
if name.match?(NAME_WITHOUT_NAMESPACE)
|
|
18
|
-
@prefix = ""
|
|
19
|
-
@namespace = ""
|
|
20
|
-
@name = name
|
|
21
|
-
elsif name =~ NAMESPLIT
|
|
22
|
-
if $1
|
|
23
|
-
@prefix = $1
|
|
24
|
-
else
|
|
25
|
-
@prefix = ""
|
|
26
|
-
@namespace = ""
|
|
27
|
-
end
|
|
28
|
-
@name = $2
|
|
29
|
-
elsif name == ""
|
|
30
|
-
@prefix = nil
|
|
31
|
-
@namespace = nil
|
|
32
|
-
@name = nil
|
|
33
|
-
else
|
|
34
|
-
message = "name must be \#{PREFIX}:\#{LOCAL_NAME} or \#{LOCAL_NAME}: "
|
|
35
|
-
message += "<#{name.inspect}>"
|
|
36
|
-
raise ArgumentError, message
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def has_name?(other, ns = nil)
|
|
41
|
-
if ns
|
|
42
|
-
namespace == ns and name == other
|
|
43
|
-
elsif other.include? ":"
|
|
44
|
-
fully_expanded_name == other
|
|
45
|
-
else
|
|
46
|
-
name == other
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
alias :local_name :name
|
|
51
|
-
|
|
52
|
-
def fully_expanded_name
|
|
53
|
-
ns = prefix
|
|
54
|
-
return "#{ns}:#@name" if ns.size.positive?
|
|
55
|
-
|
|
56
|
-
@name
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|