nora_mark 0.2beta3 → 0.2beta4
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/.travis.yml +5 -0
- data/Gemfile +2 -0
- data/README.md +17 -12
- data/example/nora-simple.css +52 -0
- data/example/noramark-reference-ja.nora +246 -0
- data/example/noramark-reference-ja_00001.xhtml +187 -0
- data/lib/nora_mark/html/{abstract_item_writer.rb → abstract_node_writer.rb} +3 -3
- data/lib/nora_mark/html/context.rb +3 -21
- data/lib/nora_mark/html/frontmatter_writer.rb +33 -0
- data/lib/nora_mark/html/generator.rb +122 -100
- data/lib/nora_mark/html/pages.rb +3 -9
- data/lib/nora_mark/html/paragraph_writer.rb +27 -23
- data/lib/nora_mark/html/tag_writer.rb +33 -34
- data/lib/nora_mark/html/writer_selector.rb +3 -3
- data/lib/nora_mark/node.rb +31 -0
- data/lib/nora_mark/parser.kpeg +133 -79
- data/lib/nora_mark/parser.kpeg.rb +1822 -1526
- data/lib/nora_mark/parser.rb +4 -23
- data/lib/nora_mark/version.rb +1 -1
- data/lib/nora_mark.rb +7 -2
- data/nora_mark.gemspec +1 -0
- data/spec/epub30-schemas/epub-nav-30.nvdl +16 -0
- data/spec/epub30-schemas/epub-nav-30.rnc +10 -0
- data/spec/epub30-schemas/epub-nav-30.sch +72 -0
- data/spec/epub30-schemas/epub-svg-30.nvdl +15 -0
- data/spec/epub30-schemas/epub-svg-30.rnc +15 -0
- data/spec/epub30-schemas/epub-svg-30.sch +10 -0
- data/spec/epub30-schemas/epub-xhtml-30.nvdl +15 -0
- data/spec/epub30-schemas/epub-xhtml-30.rnc +37 -0
- data/spec/epub30-schemas/epub-xhtml-30.sch +377 -0
- data/spec/epub30-schemas/epub30-catalog.xml +335 -0
- data/spec/epub30-schemas/media-overlay-30.nvdl +14 -0
- data/spec/epub30-schemas/media-overlay-30.rnc +46 -0
- data/spec/epub30-schemas/media-overlay-30.sch +9 -0
- data/spec/epub30-schemas/mod/datatypes.rnc +143 -0
- data/spec/epub30-schemas/mod/epub-mathml3-30.rnc +74 -0
- data/spec/epub30-schemas/mod/epub-prefix-attr.rnc +8 -0
- data/spec/epub30-schemas/mod/epub-ssml-attrs.rnc +11 -0
- data/spec/epub30-schemas/mod/epub-svg11-30.rnc +12 -0
- data/spec/epub30-schemas/mod/epub-svg11-re.sch +7 -0
- data/spec/epub30-schemas/mod/epub-switch.rnc +32 -0
- data/spec/epub30-schemas/mod/epub-trigger.rnc +17 -0
- data/spec/epub30-schemas/mod/epub-type-attr.rnc +7 -0
- data/spec/epub30-schemas/mod/epub-xhtml-mathml3-30.rnc +5 -0
- data/spec/epub30-schemas/mod/epub-xhtml-svg11-30.rnc +6 -0
- data/spec/epub30-schemas/mod/html5/LICENSE +23 -0
- data/spec/epub30-schemas/mod/html5/README +21 -0
- data/spec/epub30-schemas/mod/html5/html5-aria-30.rnc +105 -0
- data/spec/epub30-schemas/mod/html5/html5-attrib-30.rnc +44 -0
- data/spec/epub30-schemas/mod/html5/html5-document-30.rnc +44 -0
- data/spec/epub30-schemas/mod/html5/html5-edit-30.rnc +24 -0
- data/spec/epub30-schemas/mod/html5/html5-embed-30.rnc +155 -0
- data/spec/epub30-schemas/mod/html5/html5-forms-30.rnc +431 -0
- data/spec/epub30-schemas/mod/html5/html5-grouping-30.rnc +115 -0
- data/spec/epub30-schemas/mod/html5/html5-interactive-30.rnc +86 -0
- data/spec/epub30-schemas/mod/html5/html5-models-30.rnc +10 -0
- data/spec/epub30-schemas/mod/html5/html5-phrasing-30.rnc +134 -0
- data/spec/epub30-schemas/mod/html5/html5-script-30.rnc +164 -0
- data/spec/epub30-schemas/mod/html5/html5-sections-30.rnc +58 -0
- data/spec/epub30-schemas/mod/html5/html5-style-30.rnc +18 -0
- data/spec/epub30-schemas/mod/id-unique.sch +10 -0
- data/spec/epub30-schemas/mod/mathml/LICENSE +3 -0
- data/spec/epub30-schemas/mod/mathml/mathml3-common.rnc +84 -0
- data/spec/epub30-schemas/mod/mathml/mathml3-content.rnc +373 -0
- data/spec/epub30-schemas/mod/mathml/mathml3-presentation.rnc +536 -0
- data/spec/epub30-schemas/mod/mathml/mathml3-strict-content.rnc +60 -0
- data/spec/epub30-schemas/mod/security/LICENSE +4 -0
- data/spec/epub30-schemas/mod/security/Lenient-Encryption11-ghc.rnc +41 -0
- data/spec/epub30-schemas/mod/security/Lenient-Encryption11.rnc +39 -0
- data/spec/epub30-schemas/mod/security/Lenient-Signature-exclusiveC14N.rnc +25 -0
- data/spec/epub30-schemas/mod/security/Lenient-Signature11-properties-exclusiveC14N.rnc +32 -0
- data/spec/epub30-schemas/mod/security/Lenient-Signature11-properties.rnc +30 -0
- data/spec/epub30-schemas/mod/security/Lenient-Signature11.rnc +28 -0
- data/spec/epub30-schemas/mod/security/Strict-Encryption.rnc +27 -0
- data/spec/epub30-schemas/mod/security/Strict-Signature.rnc +22 -0
- data/spec/epub30-schemas/mod/security/exc-c14n.rnc +39 -0
- data/spec/epub30-schemas/mod/security/security_any.rnc +15 -0
- data/spec/epub30-schemas/mod/security/xenc-allowAnyForeign.rnc +25 -0
- data/spec/epub30-schemas/mod/security/xenc-schema-11.rnc +96 -0
- data/spec/epub30-schemas/mod/security/xenc-schema.rnc +145 -0
- data/spec/epub30-schemas/mod/security/xenc11-allowAnyForeign.rnc +19 -0
- data/spec/epub30-schemas/mod/security/xmldsig-allowAnyForeign.rnc +47 -0
- data/spec/epub30-schemas/mod/security/xmldsig-core-schema.rnc +276 -0
- data/spec/epub30-schemas/mod/security/xmldsig-filter2.rnc +16 -0
- data/spec/epub30-schemas/mod/security/xmldsig-properties-schema.rnc +34 -0
- data/spec/epub30-schemas/mod/security/xmldsig11-allowAnyForeign.rnc +18 -0
- data/spec/epub30-schemas/mod/security/xmldsig11-schema.rnc +133 -0
- data/spec/epub30-schemas/mod/security/xmlsec-ghc-allowAnyForeign.rnc +21 -0
- data/spec/epub30-schemas/mod/security/xmlsec-ghc-schema.rnc +42 -0
- data/spec/epub30-schemas/mod/svg11/LICENSE +1 -0
- data/spec/epub30-schemas/mod/svg11/README.txt +8 -0
- data/spec/epub30-schemas/mod/svg11/svg11-flat.rnc +3999 -0
- data/spec/epub30-schemas/ocf-container-30.rnc +16 -0
- data/spec/epub30-schemas/ocf-encryption-30.rnc +12 -0
- data/spec/epub30-schemas/ocf-signatures-30.rnc +8 -0
- data/spec/epub30-schemas/package-30.nvdl +14 -0
- data/spec/epub30-schemas/package-30.rnc +91 -0
- data/spec/epub30-schemas/package-30.sch +137 -0
- data/spec/jing-20091111/bin/jing.jar +0 -0
- data/spec/nora_mark_spec.rb +229 -68
- data/spec/spec_helper.rb +16 -0
- metadata +179 -6
- data/lib/nora_mark/html/header_writer.rb +0 -35
- data/spec/fixture/test_src_ja.nora +0 -50
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Lenient-Signature-exclusiveC14N.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
namespace ec = "http://www.w3.org/2001/10/xml-exc-c14n#"
|
|
13
|
+
|
|
14
|
+
start = anyForeignElementOrSignature
|
|
15
|
+
anyForeignElementOrSignature =
|
|
16
|
+
element * - ds:* {
|
|
17
|
+
mixed { security_anyAttribute*, anyForeignElementOrSignature* } }
|
|
18
|
+
| ds_Signature
|
|
19
|
+
ds_anyForeignElement = element * - ds:* {
|
|
20
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
21
|
+
|
|
22
|
+
include "security_any.rnc"
|
|
23
|
+
include "xmldsig-core-schema.rnc"
|
|
24
|
+
include "xmldsig-allowAnyForeign.rnc"
|
|
25
|
+
include "exc-c14n.rnc"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Lenient-Signature11-properties-exclusiveC14N.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
namespace ds11 = "http://www.w3.org/2009/xmldsig11#"
|
|
13
|
+
namespace dsp = "http://www.w3.org/2009/xmldsig-properties"
|
|
14
|
+
namespace ec = "http://www.w3.org/2001/10/xml-exc-c14n#"
|
|
15
|
+
|
|
16
|
+
start = anyForeignElementOrSignature
|
|
17
|
+
anyForeignElementOrSignature =
|
|
18
|
+
element * - (ds:* | ds11:* | dsp:* | ec:*) {
|
|
19
|
+
mixed { security_anyAttribute*, anyForeignElementOrSignature* } }
|
|
20
|
+
| ds_Signature
|
|
21
|
+
ds_anyForeignElement = element * - ds:* {
|
|
22
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
23
|
+
dsig11_anyForeignElement = element * - ds11:* {
|
|
24
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
25
|
+
|
|
26
|
+
include "security_any.rnc"
|
|
27
|
+
include "xmldsig-core-schema.rnc"
|
|
28
|
+
include "xmldsig11-schema.rnc"
|
|
29
|
+
include "xmldsig-allowAnyForeign.rnc"
|
|
30
|
+
include "xmldsig11-allowAnyForeign.rnc"
|
|
31
|
+
include "xmldsig-properties-schema.rnc"
|
|
32
|
+
include "exc-c14n.rnc"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Lenient-Signature11-properties.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
namespace ds11 = "http://www.w3.org/2009/xmldsig11#"
|
|
13
|
+
namespace dsp = "http://www.w3.org/2009/xmldsig-properties"
|
|
14
|
+
|
|
15
|
+
start = anyForeignElementOrSignature
|
|
16
|
+
anyForeignElementOrSignature =
|
|
17
|
+
element * - (ds:* | ds11:* | dsp:*) {
|
|
18
|
+
mixed { security_anyAttribute*, anyForeignElementOrSignature* } }
|
|
19
|
+
| ds_Signature
|
|
20
|
+
ds_anyForeignElement = element * - ds:* {
|
|
21
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
22
|
+
dsig11_anyForeignElement = element * - ds11:* {
|
|
23
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
24
|
+
|
|
25
|
+
include "security_any.rnc"
|
|
26
|
+
include "xmldsig-core-schema.rnc"
|
|
27
|
+
include "xmldsig11-schema.rnc"
|
|
28
|
+
include "xmldsig-allowAnyForeign.rnc"
|
|
29
|
+
include "xmldsig11-allowAnyForeign.rnc"
|
|
30
|
+
include "xmldsig-properties-schema.rnc"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Lenient-Signature11.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
namespace ds11 = "http://www.w3.org/2009/xmldsig11#"
|
|
13
|
+
|
|
14
|
+
start = anyForeignElementOrSignature
|
|
15
|
+
anyForeignElementOrSignature =
|
|
16
|
+
element * - (ds:* | ds11:*) {
|
|
17
|
+
mixed { security_anyAttribute*, anyForeignElementOrSignature* } }
|
|
18
|
+
| ds_Signature
|
|
19
|
+
ds_anyForeignElement = element * - ds:* {
|
|
20
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
21
|
+
dsig11_anyForeignElement = element * - ds11:* {
|
|
22
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
23
|
+
|
|
24
|
+
include "security_any.rnc"
|
|
25
|
+
include "xmldsig-core-schema.rnc"
|
|
26
|
+
include "xmldsig11-schema.rnc"
|
|
27
|
+
include "xmldsig-allowAnyForeign.rnc"
|
|
28
|
+
include "xmldsig11-allowAnyForeign.rnc"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Strict-Encryption.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
namespace xenc = "http://www.w3.org/2001/04/xmlenc#"
|
|
13
|
+
|
|
14
|
+
start = anyForeignElementOrEncrypted
|
|
15
|
+
anyForeignElementOrEncrypted =
|
|
16
|
+
element * - xenc:* {
|
|
17
|
+
mixed { security_anyAttribute*, anyForeignElementOrEncrypted* } }
|
|
18
|
+
| xenc_EncryptedData
|
|
19
|
+
| xenc_EncryptedKey
|
|
20
|
+
ds_anyForeignElement = element * - (ds:* | xenc:*) {
|
|
21
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
22
|
+
xenc_anyForeignElement = element * - xenc:* {
|
|
23
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
24
|
+
|
|
25
|
+
include "security_any.rnc"
|
|
26
|
+
include "xmldsig-core-schema.rnc"
|
|
27
|
+
include "xenc-schema.rnc"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Strict-Signature.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
|
|
11
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
12
|
+
|
|
13
|
+
start = anyForeignElementOrSignature
|
|
14
|
+
anyForeignElementOrSignature =
|
|
15
|
+
element * - ds:* {
|
|
16
|
+
mixed { security_anyAttribute*, anyForeignElementOrSignature* } }
|
|
17
|
+
| ds_Signature
|
|
18
|
+
ds_anyForeignElement = element * - ds:* {
|
|
19
|
+
mixed { security_anyAttribute*, security_anyElement* } }
|
|
20
|
+
|
|
21
|
+
include "security_any.rnc"
|
|
22
|
+
include "xmldsig-core-schema.rnc"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# exc-c14n.rnc (derived from exc-c14n.xsd)
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This RELAX NG schema allows the use of two algorithms, namely
|
|
12
|
+
#
|
|
13
|
+
# http://www.w3.org/2001/10/xml-exc-c14n# and
|
|
14
|
+
# http://www.w3.org/2001/10/xml-exc-c14n#WithComments,
|
|
15
|
+
#
|
|
16
|
+
# in ds_CanonicalizationMethodType, which specifies permissible
|
|
17
|
+
# contents of Transform or CanonicalizationMethod elements.
|
|
18
|
+
#
|
|
19
|
+
# The definition of ds_CanonicalizationMethodType in this schema is
|
|
20
|
+
# combined with the other definitions of ds_CanonicalizationMethodType
|
|
21
|
+
# by the choice operator.
|
|
22
|
+
|
|
23
|
+
default namespace = "http://www.w3.org/2001/10/xml-exc-c14n#"
|
|
24
|
+
|
|
25
|
+
ds_CanonicalizationMethodType |=
|
|
26
|
+
attribute Algorithm {
|
|
27
|
+
xsd:anyURI "http://www.w3.org/2001/10/xml-exc-c14n#"
|
|
28
|
+
| xsd:anyURI "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
|
29
|
+
},
|
|
30
|
+
ec_InclusiveNamespaces?
|
|
31
|
+
ec_InclusiveNamespaces =
|
|
32
|
+
element InclusiveNamespaces {
|
|
33
|
+
attribute PrefixList { xsd:NMTOKENS }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# List of known algorithms
|
|
37
|
+
ds_CanonicalizationAlgorithms |=
|
|
38
|
+
xsd:anyURI "http://www.w3.org/2001/10/xml-exc-c14n#"
|
|
39
|
+
| xsd:anyURI "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# security_any.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This RELAX NG schema defines security_anyElement, which allows any element,
|
|
12
|
+
# and security_anyAttribute, which allows any attribute.
|
|
13
|
+
|
|
14
|
+
security_anyElement = element * { mixed { security_anyAttribute*, security_anyElement* } }
|
|
15
|
+
security_anyAttribute = attribute * { text }
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# xenc-allowAnyForeign.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This schema mimicks <any namespace='##other'.../>
|
|
12
|
+
# in xenc-schema.xsd.
|
|
13
|
+
#
|
|
14
|
+
# Schema authors might want to create a dedicated schema
|
|
15
|
+
# for a collection of particular algorithms rather than
|
|
16
|
+
# using this schema.
|
|
17
|
+
|
|
18
|
+
xenc_EncryptionMethodOtherParams |=
|
|
19
|
+
attribute Algorithm {
|
|
20
|
+
xsd:anyURI - xenc_EncryptionAlgorithms },
|
|
21
|
+
xenc_anyForeignElement*
|
|
22
|
+
xenc_AgreementMethodParams |=
|
|
23
|
+
attribute Algorithm {
|
|
24
|
+
xsd:anyURI - xenc_KeyAgreementAlgorithms },
|
|
25
|
+
xenc_anyForeignElement*
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# xenc-schema-11.rnc (derived from xenc-schema.xsd)
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This schema complements "xenc-schema.rnc" by introducing
|
|
12
|
+
# elements specific to 1.1. Note that the definitions of
|
|
13
|
+
# xenc_EncryptionMethodOtherParams and
|
|
14
|
+
# xenc_AgreementMethodParams have been extended so that
|
|
15
|
+
# elements specific to 1.1 are allowed.
|
|
16
|
+
|
|
17
|
+
default namespace = "http://www.w3.org/2009/xmlenc11#"
|
|
18
|
+
namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
19
|
+
namespace xenc = "http://www.w3.org/2001/04/xmlenc#"
|
|
20
|
+
namespace xenc11 = "http://www.w3.org/2009/xmlenc11#"
|
|
21
|
+
|
|
22
|
+
xenc11_ConcatKDFParams =
|
|
23
|
+
element ConcatKDFParams { xenc11_ConcatKDFParamsType }
|
|
24
|
+
xenc11_ConcatKDFParamsType =
|
|
25
|
+
attribute AlgorithmID { xsd:hexBinary }?,
|
|
26
|
+
attribute PartyUInfo { xsd:hexBinary }?,
|
|
27
|
+
attribute PartyVInfo { xsd:hexBinary }?,
|
|
28
|
+
attribute SuppPubInfo { xsd:hexBinary }?,
|
|
29
|
+
attribute SuppPrivInfo { xsd:hexBinary }?,
|
|
30
|
+
ds_DigestMethod
|
|
31
|
+
xenc11_DerivedKey = element DerivedKey { xenc11_DerivedKeyType }
|
|
32
|
+
xenc11_DerivedKeyType =
|
|
33
|
+
attribute Recipient { xsd:string }?,
|
|
34
|
+
attribute Id { xenc11_IdType }?,
|
|
35
|
+
attribute Type { xsd:anyURI }?,
|
|
36
|
+
xenc11_KeyDerivationMethod?,
|
|
37
|
+
xenc_ReferenceList?,
|
|
38
|
+
element DerivedKeyName { xsd:string }?,
|
|
39
|
+
element MasterKeyName { xsd:string }?
|
|
40
|
+
xenc11_KeyDerivationMethod =
|
|
41
|
+
element KeyDerivationMethod { xenc11_KeyDerivationMethodType }
|
|
42
|
+
xenc11_KeyDerivationMethodType =
|
|
43
|
+
(attribute Algorithm { xsd:anyURI "http://www.w3.org/2009/xmlenc11#ConcatKDF" },
|
|
44
|
+
xenc11_ConcatKDFParams)
|
|
45
|
+
| (attribute Algorithm { xsd:anyURI "http://www.w3.org/2009/xmlenc11#pbkdf2" },
|
|
46
|
+
xenc11_PBKDF2-params)
|
|
47
|
+
xenc11_PBKDF2-params =
|
|
48
|
+
element PBKDF2-params { xenc11_PBKDF2ParameterType }
|
|
49
|
+
xenc11_AlgorithmIdentifierType =
|
|
50
|
+
attribute Algorithm { xsd:anyURI },
|
|
51
|
+
element Parameters { security_anyAttribute*, mixed { security_anyElement* } }?
|
|
52
|
+
xenc11_PRFAlgorithmIdentifierType =
|
|
53
|
+
# Restricts xenc11:AlgorithmIdentifierType
|
|
54
|
+
attribute Algorithm { xsd:anyURI }
|
|
55
|
+
xenc11_PBKDF2ParameterType =
|
|
56
|
+
element Salt {
|
|
57
|
+
element Specified { xsd:base64Binary }
|
|
58
|
+
| element OtherSource { xenc11_AlgorithmIdentifierType }
|
|
59
|
+
},
|
|
60
|
+
element IterationCount { xsd:positiveInteger },
|
|
61
|
+
element KeyLength { xsd:positiveInteger },
|
|
62
|
+
element PRF { xenc11_PRFAlgorithmIdentifierType }
|
|
63
|
+
|
|
64
|
+
xenc11_IdType = xsd:NCName # xsd:ID does not work
|
|
65
|
+
|
|
66
|
+
xenc_EncryptionMethodOtherParams |=
|
|
67
|
+
attribute Algorithm {
|
|
68
|
+
# Block Encryption
|
|
69
|
+
xsd:anyURI "http://www.w3.org/2009/xmlenc11#aes128-gcm"
|
|
70
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#aes256-gcm"
|
|
71
|
+
# Symmetric Key Wrap
|
|
72
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-128-pad"
|
|
73
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-192-pad"
|
|
74
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-256-pad"
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
xenc_AgreementMethodParams |=
|
|
78
|
+
attribute Algorithm { xsd:anyURI "http://www.w3.org/2009/xmlenc11#dh-es" }
|
|
79
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2009/xmlenc11#ECDH-ES" }
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# List of known algorithms
|
|
83
|
+
xenc_EncryptionAlgorithms |=
|
|
84
|
+
# Block Encryption
|
|
85
|
+
xsd:anyURI "http://www.w3.org/2009/xmlenc11#aes128-gcm"
|
|
86
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#aes256-gcm"
|
|
87
|
+
# Symmetric Key Wrap
|
|
88
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-128-pad"
|
|
89
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-192-pad"
|
|
90
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#kw-aes-256-pad"
|
|
91
|
+
xenc_KeyAgreementAlgorithms |=
|
|
92
|
+
xsd:anyURI "http://www.w3.org/2009/xmlenc11#dh-es"
|
|
93
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#ECDH-ES"
|
|
94
|
+
xenc11_KeyDerivationAlgorithms =
|
|
95
|
+
xsd:anyURI "http://www.w3.org/2009/xmlenc11#ConcatKDF"
|
|
96
|
+
| xsd:anyURI "http://www.w3.org/2009/xmlenc11#pbkdf2"
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# xenc-schema.rnc (derived from xenc-schema.xsd)
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
#It is assumed that the driver schema imports xmldsig-core-schema.rnc.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
default namespace = "http://www.w3.org/2001/04/xmlenc#"
|
|
15
|
+
namespace xenc = "http://www.w3.org/2001/04/xmlenc#"
|
|
16
|
+
|
|
17
|
+
ds_KeyValueType |= xenc_DHKeyValue
|
|
18
|
+
ds_DigestMethodType |=
|
|
19
|
+
attribute Algorithm {
|
|
20
|
+
xsd:anyURI "http://www.w3.org/2001/04/xmlenc#sha256"
|
|
21
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#sha512"
|
|
22
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#ripemd160"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
xenc_EncryptedType =
|
|
26
|
+
attribute Id { xenc_IdType }?,
|
|
27
|
+
attribute Type { xsd:anyURI }?,
|
|
28
|
+
attribute MimeType { xsd:string }?,
|
|
29
|
+
attribute Encoding { xsd:anyURI }?,
|
|
30
|
+
element EncryptionMethod { xenc_EncryptionMethodType }?,
|
|
31
|
+
ds_KeyInfo?,
|
|
32
|
+
xenc_CipherData,
|
|
33
|
+
xenc_EncryptionProperties?
|
|
34
|
+
xenc_EncryptionMethodType =
|
|
35
|
+
mixed {
|
|
36
|
+
element KeySize { xenc_KeySizeType }?,
|
|
37
|
+
xenc_EncryptionMethodOtherParams
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
ds_KeyInfoChild |= xenc_EncryptedKey | xenc_AgreementMethod
|
|
41
|
+
|
|
42
|
+
xenc_EncryptionMethodOtherParams =
|
|
43
|
+
attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#tripledes-cbc" }
|
|
44
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes128-cbc" }
|
|
45
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes256-cbc" }
|
|
46
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes192-cbc" }
|
|
47
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#rsa-1_5" }
|
|
48
|
+
| (attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" },
|
|
49
|
+
element OAEPparams { xsd:base64Binary }?,
|
|
50
|
+
ds_DigestMethod?)
|
|
51
|
+
| attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-tripledes" }
|
|
52
|
+
| attribute Algorithm {
|
|
53
|
+
xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes128"
|
|
54
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes192"
|
|
55
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes256"
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
xenc_KeySizeType = xsd:integer
|
|
59
|
+
xenc_CipherData = element CipherData { xenc_CipherDataType }
|
|
60
|
+
xenc_CipherDataType =
|
|
61
|
+
element CipherValue { xsd:base64Binary }
|
|
62
|
+
| xenc_CipherReference
|
|
63
|
+
xenc_CipherReference =
|
|
64
|
+
element CipherReference { xenc_CipherReferenceType }
|
|
65
|
+
xenc_CipherReferenceType =
|
|
66
|
+
attribute URI { xsd:anyURI },
|
|
67
|
+
element Transforms { xenc_TransformsType }?
|
|
68
|
+
xenc_TransformsType = ds_Transform+
|
|
69
|
+
xenc_EncryptedData = element EncryptedData { xenc_EncryptedDataType }
|
|
70
|
+
xenc_EncryptedDataType = xenc_EncryptedType
|
|
71
|
+
xenc_EncryptedKey = element EncryptedKey { xenc_EncryptedKeyType }
|
|
72
|
+
xenc_EncryptedKeyType =
|
|
73
|
+
xenc_EncryptedType,
|
|
74
|
+
xenc_ReferenceList?,
|
|
75
|
+
element CarriedKeyName { xsd:string }?,
|
|
76
|
+
attribute Recipient { xsd:string }?
|
|
77
|
+
xenc_AgreementMethod =
|
|
78
|
+
element AgreementMethod { xenc_AgreementMethodType }
|
|
79
|
+
xenc_AgreementMethodType =
|
|
80
|
+
mixed {
|
|
81
|
+
element KA-Nonce { xsd:base64Binary }?,
|
|
82
|
+
xenc_AgreementMethodParams,
|
|
83
|
+
element OriginatorKeyInfo { ds_KeyInfoType }?,
|
|
84
|
+
element RecipientKeyInfo { ds_KeyInfoType }?
|
|
85
|
+
}
|
|
86
|
+
xenc_AgreementMethodParams =
|
|
87
|
+
attribute Algorithm { xsd:anyURI "http://www.w3.org/2001/04/xmlenc#dh" },
|
|
88
|
+
ds_DigestMethod
|
|
89
|
+
|
|
90
|
+
xenc_ReferenceList =
|
|
91
|
+
element ReferenceList {
|
|
92
|
+
(element DataReference { xenc_ReferenceType }
|
|
93
|
+
| element KeyReference { xenc_ReferenceType })+
|
|
94
|
+
}
|
|
95
|
+
xenc_ReferenceType =
|
|
96
|
+
attribute URI { xsd:anyURI },
|
|
97
|
+
xenc_anyForeignElement*
|
|
98
|
+
#For both types of references one may optionally specify child elements to aid the recipient in retrieving the EncryptedKey and/or EncryptedData elements. These could include information such as XPath transforms, decompression transforms, or information on how to retrieve the elements from a document storage facility. For example:
|
|
99
|
+
#ds_Transforms
|
|
100
|
+
|
|
101
|
+
xenc_EncryptionProperties =
|
|
102
|
+
element EncryptionProperties { xenc_EncryptionPropertiesType }
|
|
103
|
+
xenc_EncryptionPropertiesType =
|
|
104
|
+
attribute Id { xenc_IdType }?,
|
|
105
|
+
xenc_EncryptionProperty+
|
|
106
|
+
xenc_EncryptionProperty =
|
|
107
|
+
element EncryptionProperty { xenc_EncryptionPropertyType }
|
|
108
|
+
xenc_EncryptionPropertyType =
|
|
109
|
+
mixed {
|
|
110
|
+
attribute Target { xsd:anyURI }?,
|
|
111
|
+
attribute Id { xenc_IdType }?,
|
|
112
|
+
attribute xml:* { text }*,
|
|
113
|
+
xenc_anyForeignElement+
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
xenc_DHKeyValue = element DHKeyValue { xenc_DHKeyValueType }
|
|
117
|
+
xenc_DHKeyValueType =
|
|
118
|
+
(element P { ds_CryptoBinary },
|
|
119
|
+
element Q { ds_CryptoBinary },
|
|
120
|
+
element Generator { ds_CryptoBinary })?,
|
|
121
|
+
element Public { ds_CryptoBinary },
|
|
122
|
+
(element seed { ds_CryptoBinary },
|
|
123
|
+
element pgenCounter { ds_CryptoBinary })?
|
|
124
|
+
|
|
125
|
+
xenc_IdType = xsd:NCName # xsd:ID does not work
|
|
126
|
+
|
|
127
|
+
ds_DigestAlgorithms |=
|
|
128
|
+
xsd:anyURI "http://www.w3.org/2001/04/xmlenc#sha256"
|
|
129
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#sha512"
|
|
130
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#ripemd160"
|
|
131
|
+
|
|
132
|
+
xenc_EncryptionAlgorithms =
|
|
133
|
+
xsd:anyURI "http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
|
|
134
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes128-cbc"
|
|
135
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes256-cbc"
|
|
136
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#aes192-cbc"
|
|
137
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#rsa-1_5"
|
|
138
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
|
|
139
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-tripledes"
|
|
140
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes128"
|
|
141
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes256"
|
|
142
|
+
| xsd:anyURI "http://www.w3.org/2001/04/xmlenc#kw-aes192"
|
|
143
|
+
|
|
144
|
+
xenc_KeyAgreementAlgorithms =
|
|
145
|
+
xsd:anyURI "http://www.w3.org/2001/04/xmlenc#dh"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# xenc11-allowAnyForeign.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This schema mimicks <any .. /> in xenc-schema-11.xsd.
|
|
12
|
+
#
|
|
13
|
+
# Schema authors might want to create a dedicated schema
|
|
14
|
+
# for a collection of particular algorithms rather than
|
|
15
|
+
# using this schema.
|
|
16
|
+
|
|
17
|
+
xenc11_KeyDerivationMethodType |=
|
|
18
|
+
attribute Algorithm { xsd:anyURI - xenc11_KeyDerivationAlgorithms },
|
|
19
|
+
xenc11_anyForeignElement*
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# xmldsig-allowAnyForeign.rnc
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2011 W3C (Massachusetts Institute of Technology,
|
|
4
|
+
# Institut National de Recherche en Informatique et en Automatique,
|
|
5
|
+
# Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
|
|
6
|
+
#
|
|
7
|
+
# Use and distribution of all schemas in this directory are permitted under the terms
|
|
8
|
+
# W3C Software Notice and License
|
|
9
|
+
# http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
|
10
|
+
#
|
|
11
|
+
# This schema mimicks <any ../> in xmldsig-core-schema.xsd.
|
|
12
|
+
# When namespace="##other", any foreign element is allowed.
|
|
13
|
+
# When namespace="##any", any foreign element as well as
|
|
14
|
+
# any element valid against xmldsig-core-schema.xsd is allowed.
|
|
15
|
+
#
|
|
16
|
+
# Schema authors might want to create a dedicated schema
|
|
17
|
+
# for a collection of particular algorithms rather than
|
|
18
|
+
# using this schema.
|
|
19
|
+
|
|
20
|
+
default namespace ds = "http://www.w3.org/2000/09/xmldsig#"
|
|
21
|
+
|
|
22
|
+
ds_CanonicalizationMethodType |=
|
|
23
|
+
attribute Algorithm { xsd:anyURI - ds_CanonicalizationAlgorithms },
|
|
24
|
+
(ds_anyForeignElement | ds_anyDsElement)*
|
|
25
|
+
ds_SignatureMethodType |=
|
|
26
|
+
attribute Algorithm { xsd:anyURI - ds_SignatureAlgorithms },
|
|
27
|
+
# It is allowed to use an HMACOutputLength element even when
|
|
28
|
+
# the agorithm is not "http://www.w3.org/2000/09/xmldsig#hmac-sha1"
|
|
29
|
+
element HMACOutputLength { ds_HMACOutputLengthType }?,
|
|
30
|
+
ds_anyForeignElement*
|
|
31
|
+
ds_TransformType |=
|
|
32
|
+
attribute Algorithm {
|
|
33
|
+
xsd:anyURI - (ds_CanonicalizationAlgorithms | ds_TransformAlgorithms) },
|
|
34
|
+
# It is allowed to use XPath elements even when
|
|
35
|
+
# the algorithm is not "http://www.w3.org/TR/1999/REC-xpath-19991116"
|
|
36
|
+
(ds_anyForeignElement
|
|
37
|
+
| element XPath { xsd:string })*
|
|
38
|
+
ds_DigestMethodType |=
|
|
39
|
+
attribute Algorithm { xsd:anyURI - ds_DigestAlgorithms },
|
|
40
|
+
ds_anyForeignElement*
|
|
41
|
+
ds_KeyInfoChild |= ds_anyForeignElement
|
|
42
|
+
ds_KeyValueType |= ds_anyForeignElement
|
|
43
|
+
ds_X509DataForeignChild |= ds_anyForeignElement
|
|
44
|
+
ds_SPKIDataForeignChild |= ds_anyForeignElement
|
|
45
|
+
ds_ObjectChild |= ds_anyForeignElement
|
|
46
|
+
ds_SignaturePropertyChild |= ds_anyForeignElement
|
|
47
|
+
ds_PGPDataForeignChild |= ds_anyForeignElement
|