svg_conform 0.1.0
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 +7 -0
- data/.github/workflows/rake.yml +15 -0
- data/.github/workflows/release.yml +23 -0
- data/.github/workflows/svgcheck-compatibility.yml +135 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/.rubocop.yml +13 -0
- data/.rubocop_todo.yml +183 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/Gemfile +14 -0
- data/README.adoc +1384 -0
- data/Rakefile +15 -0
- data/config/profiles/base.yml +34 -0
- data/config/profiles/lucid_fix.yml +37 -0
- data/config/profiles/metanorma.yml +212 -0
- data/config/profiles/no_external_css.yml +20 -0
- data/config/profiles/svg_1_2_rfc.yml +284 -0
- data/config/profiles/svg_1_2_rfc_with_rdf.yml +145 -0
- data/config/svgcheck_mapping.yml +180 -0
- data/docs/profiles.adoc +547 -0
- data/docs/rdf_metadata_support.adoc +212 -0
- data/docs/remediation.adoc +732 -0
- data/docs/requirements.adoc +709 -0
- data/examples/demo.rb +116 -0
- data/examples/requirements_demo.rb +240 -0
- data/exe/svg_conform +7 -0
- data/lib/svg_conform/batch_report.rb +70 -0
- data/lib/svg_conform/cli.rb +107 -0
- data/lib/svg_conform/commands/check.rb +390 -0
- data/lib/svg_conform/commands/profiles.rb +118 -0
- data/lib/svg_conform/commands/svgcheck.rb +90 -0
- data/lib/svg_conform/commands/svgcheck_compare.rb +92 -0
- data/lib/svg_conform/commands/svgcheck_compatibility.rb +43 -0
- data/lib/svg_conform/commands/svgcheck_generate.rb +262 -0
- data/lib/svg_conform/compatibility/analysis_context.rb +68 -0
- data/lib/svg_conform/compatibility/comparison_result.rb +147 -0
- data/lib/svg_conform/compatibility/compatibility_analyzer.rb +85 -0
- data/lib/svg_conform/compatibility/file_processor.rb +109 -0
- data/lib/svg_conform/compatibility/pattern_discovery.rb +319 -0
- data/lib/svg_conform/compatibility/report_formatter.rb +359 -0
- data/lib/svg_conform/compatibility/svg_analysis_engine.rb +316 -0
- data/lib/svg_conform/compatibility/validity_analysis.rb +252 -0
- data/lib/svg_conform/compatibility/xml_analysis_engine.rb +198 -0
- data/lib/svg_conform/compatibility_analyzer.rb +285 -0
- data/lib/svg_conform/conformance_report.rb +267 -0
- data/lib/svg_conform/constants.rb +199 -0
- data/lib/svg_conform/css_color.rb +262 -0
- data/lib/svg_conform/document.rb +203 -0
- data/lib/svg_conform/external_checkers/svgcheck/compatibility_engine.rb +166 -0
- data/lib/svg_conform/external_checkers/svgcheck/output_generator.rb +101 -0
- data/lib/svg_conform/external_checkers/svgcheck/parser.rb +200 -0
- data/lib/svg_conform/external_checkers/svgcheck/report_comparator.rb +175 -0
- data/lib/svg_conform/external_checkers/svgcheck/report_generator.rb +82 -0
- data/lib/svg_conform/external_checkers/svgcheck/validation_pipeline.rb +249 -0
- data/lib/svg_conform/external_checkers/svgcheck.rb +56 -0
- data/lib/svg_conform/external_checkers.rb +34 -0
- data/lib/svg_conform/fixer.rb +56 -0
- data/lib/svg_conform/profile.rb +164 -0
- data/lib/svg_conform/profiles.rb +60 -0
- data/lib/svg_conform/remediation_engine.rb +92 -0
- data/lib/svg_conform/remediation_result.rb +36 -0
- data/lib/svg_conform/remediation_runner.rb +225 -0
- data/lib/svg_conform/remediations/base_remediation.rb +165 -0
- data/lib/svg_conform/remediations/color_remediation.rb +226 -0
- data/lib/svg_conform/remediations/font_embedding_remediation.rb +145 -0
- data/lib/svg_conform/remediations/font_remediation.rb +122 -0
- data/lib/svg_conform/remediations/image_embedding_remediation.rb +154 -0
- data/lib/svg_conform/remediations/invalid_id_references_remediation.rb +129 -0
- data/lib/svg_conform/remediations/namespace_attribute_remediation.rb +244 -0
- data/lib/svg_conform/remediations/namespace_remediation.rb +151 -0
- data/lib/svg_conform/remediations/no_external_css_remediation.rb +192 -0
- data/lib/svg_conform/remediations/style_promotion_remediation.rb +93 -0
- data/lib/svg_conform/remediations/viewbox_remediation.rb +127 -0
- data/lib/svg_conform/remediations.rb +40 -0
- data/lib/svg_conform/report_comparator.rb +772 -0
- data/lib/svg_conform/requirements/allowed_elements_requirement.rb +367 -0
- data/lib/svg_conform/requirements/base_requirement.rb +98 -0
- data/lib/svg_conform/requirements/color_restrictions_requirement.rb +126 -0
- data/lib/svg_conform/requirements/element_requirement_config.rb +75 -0
- data/lib/svg_conform/requirements/font_family_requirement.rb +133 -0
- data/lib/svg_conform/requirements/forbidden_content_requirement.rb +60 -0
- data/lib/svg_conform/requirements/id_reference_requirement.rb +133 -0
- data/lib/svg_conform/requirements/invalid_id_references_requirement.rb +132 -0
- data/lib/svg_conform/requirements/link_validation_requirement.rb +55 -0
- data/lib/svg_conform/requirements/namespace_attributes_requirement.rb +211 -0
- data/lib/svg_conform/requirements/namespace_requirement.rb +294 -0
- data/lib/svg_conform/requirements/no_external_css_requirement.rb +132 -0
- data/lib/svg_conform/requirements/no_external_fonts_requirement.rb +121 -0
- data/lib/svg_conform/requirements/no_external_images_requirement.rb +91 -0
- data/lib/svg_conform/requirements/style_promotion_requirement.rb +72 -0
- data/lib/svg_conform/requirements/style_requirement.rb +226 -0
- data/lib/svg_conform/requirements/viewbox_required_requirement.rb +96 -0
- data/lib/svg_conform/requirements.rb +49 -0
- data/lib/svg_conform/semantic_comparator.rb +829 -0
- data/lib/svg_conform/validation_context.rb +408 -0
- data/lib/svg_conform/validation_result.rb +146 -0
- data/lib/svg_conform/validator.rb +91 -0
- data/lib/svg_conform/version.rb +5 -0
- data/lib/svg_conform.rb +68 -0
- data/lib/tasks/fixtures.rake +321 -0
- data/lib/tasks/svgcheck.rake +111 -0
- data/reference-docs/SVG-1.2-RFC.rnc.txt +1676 -0
- data/reference-docs/Scalable Vector Graphics (SVG) 1.1 (Second Edition).html +40764 -0
- data/reference-docs/Scalable Vector Graphics (SVG) Tiny 1.2 Specification.html +44591 -0
- data/reference-docs/rfc7996.txt +2971 -0
- data/sig/svg_conform.rbs +4 -0
- data/spec/fixtures/allowed_elements/inputs/basic_violations.svg +21 -0
- data/spec/fixtures/allowed_elements/repair/basic_violations.svg +18 -0
- data/spec/fixtures/color_restrictions/inputs/basic_violations.svg +23 -0
- data/spec/fixtures/color_restrictions/repair/basic_violations.svg +23 -0
- data/spec/fixtures/comprehensive/inputs/multiple_violations.svg +21 -0
- data/spec/fixtures/comprehensive/repair/multiple_violations.svg +16 -0
- data/spec/fixtures/font_family/inputs/basic_violations.svg +17 -0
- data/spec/fixtures/font_family/repair/basic_violations.svg +17 -0
- data/spec/fixtures/forbidden_content/inputs/basic_violations.svg +27 -0
- data/spec/fixtures/forbidden_content/repair/basic_violations.svg +19 -0
- data/spec/fixtures/id_reference/inputs/basic_violations.svg +17 -0
- data/spec/fixtures/id_reference/repair/basic_violations.svg +15 -0
- data/spec/fixtures/link_validation/inputs/basic_violations.svg +20 -0
- data/spec/fixtures/link_validation/repair/basic_violations.svg +16 -0
- data/spec/fixtures/lucid/inputs/simple.svg +67 -0
- data/spec/fixtures/lucid/repair/simple.svg +63 -0
- data/spec/fixtures/namespace/inputs/basic_violations.svg +20 -0
- data/spec/fixtures/namespace/repair/basic_violations.svg +17 -0
- data/spec/fixtures/namespace_attributes/inputs/basic_violations.svg +16 -0
- data/spec/fixtures/namespace_attributes/repair/basic_violations.svg +15 -0
- data/spec/fixtures/no_external_css/inputs/basic_violations.svg +20 -0
- data/spec/fixtures/no_external_css/repair/basic_violations.svg +18 -0
- data/spec/fixtures/style/inputs/basic_violations.svg +22 -0
- data/spec/fixtures/style/repair/basic_violations.svg +22 -0
- data/spec/fixtures/style_promotion/inputs/basic_test.svg +15 -0
- data/spec/fixtures/style_promotion/repair/basic_test.svg +15 -0
- data/spec/fixtures/svg_1_2_rfc/inputs/allowed_elements_violations.svg +18 -0
- data/spec/fixtures/svg_1_2_rfc/inputs/color_restrictions_violations.svg +23 -0
- data/spec/fixtures/svgcheck/check/DrawBerry-sample-2.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/DrawBerry-sample-2.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/DrawBerry-sample-2.svg.out +23 -0
- data/spec/fixtures/svgcheck/check/IETF-test.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/IETF-test.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/IETF-test.svg.out +20 -0
- data/spec/fixtures/svgcheck/check/circle.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/circle.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/circle.svg.out +2 -0
- data/spec/fixtures/svgcheck/check/colors.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/colors.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/colors.svg.out +13 -0
- data/spec/fixtures/svgcheck/check/dia-sample-svg.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/dia-sample-svg.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/dia-sample-svg.svg.out +76 -0
- data/spec/fixtures/svgcheck/check/example-dot.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/example-dot.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/example-dot.svg.out +11 -0
- data/spec/fixtures/svgcheck/check/full-tiny.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/full-tiny.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/full-tiny.svg.out +5835 -0
- data/spec/fixtures/svgcheck/check/good.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/good.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/good.svg.out +1 -0
- data/spec/fixtures/svgcheck/check/httpbis-proxy20-fig6.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/httpbis-proxy20-fig6.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/httpbis-proxy20-fig6.svg.out +5 -0
- data/spec/fixtures/svgcheck/check/malformed.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/malformed.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/malformed.svg.out +8 -0
- data/spec/fixtures/svgcheck/check/rfc-svg.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/rfc-svg.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/rfc-svg.svg.out +1 -0
- data/spec/fixtures/svgcheck/check/rfc.xml.code +1 -0
- data/spec/fixtures/svgcheck/check/rfc.xml.err +0 -0
- data/spec/fixtures/svgcheck/check/rfc.xml.out +2 -0
- data/spec/fixtures/svgcheck/check/rgb.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/rgb.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/rgb.svg.out +9 -0
- data/spec/fixtures/svgcheck/check/svg-wordle.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/svg-wordle.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/svg-wordle.svg.out +508 -0
- data/spec/fixtures/svgcheck/check/threshold.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/threshold.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/threshold.svg.out +20 -0
- data/spec/fixtures/svgcheck/check/utf8.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/utf8.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/utf8.svg.out +162 -0
- data/spec/fixtures/svgcheck/check/viewBox-both.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/viewBox-both.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/viewBox-both.svg.out +4 -0
- data/spec/fixtures/svgcheck/check/viewBox-height.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/viewBox-height.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/viewBox-height.svg.out +3 -0
- data/spec/fixtures/svgcheck/check/viewBox-none.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/viewBox-none.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/viewBox-none.svg.out +3 -0
- data/spec/fixtures/svgcheck/check/viewBox-width.svg.code +1 -0
- data/spec/fixtures/svgcheck/check/viewBox-width.svg.err +0 -0
- data/spec/fixtures/svgcheck/check/viewBox-width.svg.out +3 -0
- data/spec/fixtures/svgcheck/inputs/DrawBerry-sample-2.svg +28 -0
- data/spec/fixtures/svgcheck/inputs/IETF-test.svg +28 -0
- data/spec/fixtures/svgcheck/inputs/circle.svg +3 -0
- data/spec/fixtures/svgcheck/inputs/colors.svg +18 -0
- data/spec/fixtures/svgcheck/inputs/dia-sample-svg.svg +47 -0
- data/spec/fixtures/svgcheck/inputs/example-dot.svg +75 -0
- data/spec/fixtures/svgcheck/inputs/full-tiny.svg +16194 -0
- data/spec/fixtures/svgcheck/inputs/good.svg +19 -0
- data/spec/fixtures/svgcheck/inputs/httpbis-proxy20-fig6.svg +2 -0
- data/spec/fixtures/svgcheck/inputs/malformed.svg +11 -0
- data/spec/fixtures/svgcheck/inputs/rfc-svg.svg +1028 -0
- data/spec/fixtures/svgcheck/inputs/rfc.xml +37 -0
- data/spec/fixtures/svgcheck/inputs/rgb.svg +9 -0
- data/spec/fixtures/svgcheck/inputs/svg-wordle.svg +330 -0
- data/spec/fixtures/svgcheck/inputs/threshold.svg +26 -0
- data/spec/fixtures/svgcheck/inputs/utf8.svg +448 -0
- data/spec/fixtures/svgcheck/inputs/viewBox-both.svg +3 -0
- data/spec/fixtures/svgcheck/inputs/viewBox-height.svg +3 -0
- data/spec/fixtures/svgcheck/inputs/viewBox-none.svg +3 -0
- data/spec/fixtures/svgcheck/inputs/viewBox-width.svg +3 -0
- data/spec/fixtures/svgcheck/repair/DrawBerry-sample-2.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/DrawBerry-sample-2.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/DrawBerry-sample-2.svg.file +0 -0
- data/spec/fixtures/svgcheck/repair/DrawBerry-sample-2.svg.out +23 -0
- data/spec/fixtures/svgcheck/repair/IETF-test.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/IETF-test.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/IETF-test.svg.file +29 -0
- data/spec/fixtures/svgcheck/repair/IETF-test.svg.out +20 -0
- data/spec/fixtures/svgcheck/repair/circle.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/circle.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/circle.svg.file +4 -0
- data/spec/fixtures/svgcheck/repair/circle.svg.out +2 -0
- data/spec/fixtures/svgcheck/repair/colors.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/colors.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/colors.svg.file +19 -0
- data/spec/fixtures/svgcheck/repair/colors.svg.out +13 -0
- data/spec/fixtures/svgcheck/repair/dia-sample-svg.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/dia-sample-svg.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/dia-sample-svg.svg.file +47 -0
- data/spec/fixtures/svgcheck/repair/dia-sample-svg.svg.out +76 -0
- data/spec/fixtures/svgcheck/repair/example-dot.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/example-dot.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/example-dot.svg.file +69 -0
- data/spec/fixtures/svgcheck/repair/example-dot.svg.out +11 -0
- data/spec/fixtures/svgcheck/repair/good.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/good.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/good.svg.file +0 -0
- data/spec/fixtures/svgcheck/repair/good.svg.out +1 -0
- data/spec/fixtures/svgcheck/repair/httpbis-proxy20-fig6.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/httpbis-proxy20-fig6.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/httpbis-proxy20-fig6.svg.file +73 -0
- data/spec/fixtures/svgcheck/repair/httpbis-proxy20-fig6.svg.out +5 -0
- data/spec/fixtures/svgcheck/repair/malformed.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/malformed.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/malformed.svg.file +9 -0
- data/spec/fixtures/svgcheck/repair/malformed.svg.out +8 -0
- data/spec/fixtures/svgcheck/repair/rfc-svg.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/rfc-svg.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/rfc-svg.svg.file +0 -0
- data/spec/fixtures/svgcheck/repair/rfc-svg.svg.out +1 -0
- data/spec/fixtures/svgcheck/repair/rfc.xml.code +1 -0
- data/spec/fixtures/svgcheck/repair/rfc.xml.err +0 -0
- data/spec/fixtures/svgcheck/repair/rfc.xml.file +37 -0
- data/spec/fixtures/svgcheck/repair/rfc.xml.out +2 -0
- data/spec/fixtures/svgcheck/repair/rgb.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/rgb.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/rgb.svg.file +10 -0
- data/spec/fixtures/svgcheck/repair/rgb.svg.out +9 -0
- data/spec/fixtures/svgcheck/repair/svg-wordle.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/svg-wordle.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/svg-wordle.svg.file +112 -0
- data/spec/fixtures/svgcheck/repair/svg-wordle.svg.out +508 -0
- data/spec/fixtures/svgcheck/repair/threshold.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/threshold.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/threshold.svg.file +27 -0
- data/spec/fixtures/svgcheck/repair/threshold.svg.out +20 -0
- data/spec/fixtures/svgcheck/repair/utf8.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/utf8.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/utf8.svg.file +381 -0
- data/spec/fixtures/svgcheck/repair/utf8.svg.out +162 -0
- data/spec/fixtures/svgcheck/repair/viewBox-both.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/viewBox-both.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/viewBox-both.svg.file +4 -0
- data/spec/fixtures/svgcheck/repair/viewBox-both.svg.out +4 -0
- data/spec/fixtures/svgcheck/repair/viewBox-height.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/viewBox-height.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/viewBox-height.svg.file +4 -0
- data/spec/fixtures/svgcheck/repair/viewBox-height.svg.out +3 -0
- data/spec/fixtures/svgcheck/repair/viewBox-none.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/viewBox-none.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/viewBox-none.svg.file +4 -0
- data/spec/fixtures/svgcheck/repair/viewBox-none.svg.out +3 -0
- data/spec/fixtures/svgcheck/repair/viewBox-width.svg.code +1 -0
- data/spec/fixtures/svgcheck/repair/viewBox-width.svg.err +0 -0
- data/spec/fixtures/svgcheck/repair/viewBox-width.svg.file +4 -0
- data/spec/fixtures/svgcheck/repair/viewBox-width.svg.out +3 -0
- data/spec/fixtures/viewbox_required/inputs/missing_viewbox.svg +10 -0
- data/spec/fixtures/viewbox_required/repair/missing_viewbox.svg +10 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/svg_conform/batch_report_spec.rb +99 -0
- data/spec/svg_conform/commands/check_command_spec.rb +90 -0
- data/spec/svg_conform/commands/profiles_command_spec.rb +20 -0
- data/spec/svg_conform/commands/svgcheck_compare_command_spec.rb +13 -0
- data/spec/svg_conform/commands/svgcheck_compatibility_command_spec.rb +13 -0
- data/spec/svg_conform/commands/svgcheck_generate_command_spec.rb +14 -0
- data/spec/svg_conform/profiles/base_profile_spec.rb +42 -0
- data/spec/svg_conform/profiles/lucid_fix_profile_spec.rb +46 -0
- data/spec/svg_conform/profiles/lucid_profile_spec.rb +84 -0
- data/spec/svg_conform/profiles/metanorma_profile_spec.rb +62 -0
- data/spec/svg_conform/profiles/no_external_css_profile_spec.rb +66 -0
- data/spec/svg_conform/profiles/svg_1_2_rfc_profile_spec.rb +200 -0
- data/spec/svg_conform/profiles/svg_1_2_rfc_with_rdf_profile_spec.rb +81 -0
- data/spec/svg_conform/remediations/color_remediation_spec.rb +95 -0
- data/spec/svg_conform/remediations/font_embedding_remediation_spec.rb +20 -0
- data/spec/svg_conform/remediations/font_remediation_spec.rb +95 -0
- data/spec/svg_conform/remediations/image_embedding_remediation_spec.rb +20 -0
- data/spec/svg_conform/remediations/invalid_id_references_remediation_spec.rb +97 -0
- data/spec/svg_conform/remediations/namespace_attribute_remediation_spec.rb +97 -0
- data/spec/svg_conform/remediations/namespace_remediation_spec.rb +95 -0
- data/spec/svg_conform/remediations/no_external_css_remediation_spec.rb +97 -0
- data/spec/svg_conform/remediations/style_promotion_remediation_spec.rb +97 -0
- data/spec/svg_conform/remediations/viewbox_remediation_spec.rb +95 -0
- data/spec/svg_conform/requirements/allowed_elements_requirement_spec.rb +118 -0
- data/spec/svg_conform/requirements/color_restrictions_requirement_spec.rb +168 -0
- data/spec/svg_conform/requirements/font_family_requirement_spec.rb +188 -0
- data/spec/svg_conform/requirements/forbidden_content_requirement_spec.rb +195 -0
- data/spec/svg_conform/requirements/id_reference_requirement_spec.rb +78 -0
- data/spec/svg_conform/requirements/invalid_id_references_requirement_spec.rb +78 -0
- data/spec/svg_conform/requirements/link_validation_requirement_spec.rb +78 -0
- data/spec/svg_conform/requirements/namespace_attributes_requirement_spec.rb +86 -0
- data/spec/svg_conform/requirements/namespace_requirement_spec.rb +184 -0
- data/spec/svg_conform/requirements/no_external_css_requirement_spec.rb +78 -0
- data/spec/svg_conform/requirements/no_external_fonts_requirement_spec.rb +20 -0
- data/spec/svg_conform/requirements/no_external_images_requirement_spec.rb +20 -0
- data/spec/svg_conform/requirements/style_promotion_requirement_spec.rb +78 -0
- data/spec/svg_conform/requirements/style_requirement_spec.rb +76 -0
- data/spec/svg_conform/requirements/viewbox_required_requirement_spec.rb +165 -0
- data/spec/svg_conform_spec.rb +32 -0
- data/spec/svgcheck_compatibility_spec.rb +355 -0
- data/svg_conform.gemspec +35 -0
- metadata +436 -0
|
@@ -0,0 +1,1676 @@
|
|
|
1
|
+
# SVG-1.2-RFC.rnc
|
|
2
|
+
#
|
|
3
|
+
# SVG 1.2 RFC RNC schema as specified in RFC 7996.
|
|
4
|
+
#
|
|
5
|
+
# This schema is automatically included by the parent RFCXML v3 RNC schema
|
|
6
|
+
# and so needs to be present for succesful validation but does not need to
|
|
7
|
+
# be specified separately.
|
|
8
|
+
#
|
|
9
|
+
# Documentation is at https://authors.ietf.org/en/templates-and-schemas
|
|
10
|
+
#
|
|
11
|
+
# Nevil Brownlee, Tue Jan 16 2018 (NZDT)
|
|
12
|
+
|
|
13
|
+
default namespace = "http://www.w3.org/2000/svg"
|
|
14
|
+
namespace xlink = "http://www.w3.org/1999/xlink"
|
|
15
|
+
|
|
16
|
+
rfc-color = ( # SVG-1.2-RFC doesn't allow "color or grey-scale"
|
|
17
|
+
"black" | "white" | "#000000" | "#FFFFFF" | "#ffffff" |
|
|
18
|
+
"currentColor" | "inherit" )
|
|
19
|
+
|
|
20
|
+
start = svg
|
|
21
|
+
|
|
22
|
+
svg =
|
|
23
|
+
element svg {
|
|
24
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
25
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
26
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
27
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
28
|
+
attribute stroke { rfc-color }?,
|
|
29
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
30
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
31
|
+
attribute stroke-linecap {
|
|
32
|
+
"butt" | "round" | "square" | "inherit"
|
|
33
|
+
}?,
|
|
34
|
+
attribute stroke-linejoin {
|
|
35
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
36
|
+
}?,
|
|
37
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
38
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
39
|
+
attribute color { rfc-color }?,
|
|
40
|
+
attribute color-rendering {
|
|
41
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
42
|
+
}?)
|
|
43
|
+
& attribute vector-effect {
|
|
44
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
45
|
+
}?
|
|
46
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
47
|
+
attribute unicode-bidi {
|
|
48
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
49
|
+
}?)
|
|
50
|
+
& (attribute solid-color { rfc-color }?,
|
|
51
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
52
|
+
& (attribute display-align {
|
|
53
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
54
|
+
}?,
|
|
55
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
56
|
+
& (attribute stop-color { rfc-color }?,
|
|
57
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
58
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
59
|
+
| "inherit" }?,
|
|
60
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
61
|
+
attribute font-style {
|
|
62
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
63
|
+
}?,
|
|
64
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
65
|
+
attribute font-weight {
|
|
66
|
+
"normal"
|
|
67
|
+
| "bold"
|
|
68
|
+
| "bolder"
|
|
69
|
+
| "lighter"
|
|
70
|
+
}?,
|
|
71
|
+
attribute text-anchor {
|
|
72
|
+
"start" | "middle" | "end" | "inherit"}?,
|
|
73
|
+
attribute text-align {
|
|
74
|
+
"start" | "center" | "end" | "inherit"
|
|
75
|
+
}?)),
|
|
76
|
+
(attribute id { xsd:NCName }
|
|
77
|
+
| attribute xml:id { xsd:NCName })?,
|
|
78
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
79
|
+
attribute xml:lang { xsd:language? }?,
|
|
80
|
+
attribute class { xsd:NMTOKENS }?,
|
|
81
|
+
attribute role { xsd:string }?,
|
|
82
|
+
attribute rel { xsd:string }?,
|
|
83
|
+
attribute rev { xsd:string }?,
|
|
84
|
+
attribute typeof { xsd:string }?,
|
|
85
|
+
attribute content { xsd:string }?,
|
|
86
|
+
attribute datatype { xsd:string }?,
|
|
87
|
+
attribute resource { xsd:string }?,
|
|
88
|
+
attribute about { xsd:string }?,
|
|
89
|
+
attribute property { xsd:string }?,
|
|
90
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
91
|
+
attribute width { xsd:string }?,
|
|
92
|
+
attribute height { xsd:string }?,
|
|
93
|
+
attribute preserveAspectRatio {
|
|
94
|
+
xsd:string { pattern = "\s*(none|xMidYMid)\s*(meet)?\s*" }
|
|
95
|
+
}?,
|
|
96
|
+
attribute viewBox { text }?,
|
|
97
|
+
attribute version {
|
|
98
|
+
xsd:string "1.0" | xsd:string "1.1" | xsd:string "1.2"
|
|
99
|
+
}?,
|
|
100
|
+
attribute baseProfile {
|
|
101
|
+
xsd:string "none"
|
|
102
|
+
| xsd:string "tiny"
|
|
103
|
+
| xsd:string "basic"
|
|
104
|
+
| xsd:string "full"
|
|
105
|
+
}?,
|
|
106
|
+
attribute snapshotTime { xsd:string "none" | xsd:string }?,
|
|
107
|
+
(desc
|
|
108
|
+
| svgTitle
|
|
109
|
+
| path
|
|
110
|
+
| rect
|
|
111
|
+
| circle
|
|
112
|
+
| line
|
|
113
|
+
| ellipse
|
|
114
|
+
| polyline
|
|
115
|
+
| polygon
|
|
116
|
+
| solidColor
|
|
117
|
+
| textArea
|
|
118
|
+
| \text
|
|
119
|
+
| g
|
|
120
|
+
| defs
|
|
121
|
+
| use
|
|
122
|
+
| a)*
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
desc =
|
|
126
|
+
element desc {
|
|
127
|
+
(attribute id { xsd:NCName }
|
|
128
|
+
| attribute xml:id { xsd:NCName })?,
|
|
129
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
130
|
+
attribute xml:lang { xsd:language? }?,
|
|
131
|
+
attribute class { xsd:NMTOKENS }?,
|
|
132
|
+
attribute role { xsd:string }?,
|
|
133
|
+
attribute rel { xsd:string }?,
|
|
134
|
+
attribute rev { xsd:string }?,
|
|
135
|
+
attribute typeof { xsd:string }?,
|
|
136
|
+
attribute content { xsd:string }?,
|
|
137
|
+
attribute datatype { xsd:string }?,
|
|
138
|
+
attribute resource { xsd:string }?,
|
|
139
|
+
attribute about { xsd:string }?,
|
|
140
|
+
attribute property { xsd:string }?,
|
|
141
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
142
|
+
((attribute display {
|
|
143
|
+
"inline"
|
|
144
|
+
| "block"
|
|
145
|
+
| "list-item"
|
|
146
|
+
| "run-in"
|
|
147
|
+
| "compact"
|
|
148
|
+
| "marker"
|
|
149
|
+
| "table"
|
|
150
|
+
| "inline-table"
|
|
151
|
+
| "table-row-group"
|
|
152
|
+
| "table-header-group"
|
|
153
|
+
| "table-footer-group"
|
|
154
|
+
| "table-row"
|
|
155
|
+
| "table-column-group"
|
|
156
|
+
| "table-column"
|
|
157
|
+
| "table-cell"
|
|
158
|
+
| "table-caption"
|
|
159
|
+
| "none"
|
|
160
|
+
| "inherit"
|
|
161
|
+
}?,
|
|
162
|
+
attribute visibility { "visible" | "hidden" | "collapse" | "inherit" }?,
|
|
163
|
+
attribute image-rendering {
|
|
164
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
165
|
+
}?,
|
|
166
|
+
attribute shape-rendering {
|
|
167
|
+
"auto"
|
|
168
|
+
| "optimizeSpeed"
|
|
169
|
+
| "crispEdges"
|
|
170
|
+
| "geometricPrecision"
|
|
171
|
+
| "inherit"
|
|
172
|
+
}?,
|
|
173
|
+
attribute text-rendering {
|
|
174
|
+
"auto"
|
|
175
|
+
| "optimizeSpeed"
|
|
176
|
+
| "optimizeLegibility"
|
|
177
|
+
| "geometricPrecision"
|
|
178
|
+
| "inherit"
|
|
179
|
+
}?,
|
|
180
|
+
attribute buffered-rendering {
|
|
181
|
+
"auto" | "dynamic" | "static" | "inherit"
|
|
182
|
+
}?)
|
|
183
|
+
& (attribute viewport-fill { "none" | rfc-color }?,
|
|
184
|
+
attribute viewport-fill-opacity { "inherit" | xsd:string }?)),
|
|
185
|
+
text
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
svgTitle =
|
|
189
|
+
element title {
|
|
190
|
+
(attribute id { xsd:NCName }
|
|
191
|
+
| attribute xml:id { xsd:NCName })?,
|
|
192
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
193
|
+
attribute xml:lang { xsd:language? }?,
|
|
194
|
+
attribute class { xsd:NMTOKENS }?,
|
|
195
|
+
attribute role { xsd:string }?,
|
|
196
|
+
attribute rel { xsd:string }?,
|
|
197
|
+
attribute rev { xsd:string }?,
|
|
198
|
+
attribute typeof { xsd:string }?,
|
|
199
|
+
attribute content { xsd:string }?,
|
|
200
|
+
attribute datatype { xsd:string }?,
|
|
201
|
+
attribute resource { xsd:string }?,
|
|
202
|
+
attribute about { xsd:string }?,
|
|
203
|
+
attribute property { xsd:string }?,
|
|
204
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
205
|
+
((attribute display {
|
|
206
|
+
"inline"
|
|
207
|
+
| "block"
|
|
208
|
+
| "list-item"
|
|
209
|
+
| "run-in"
|
|
210
|
+
| "compact"
|
|
211
|
+
| "marker"
|
|
212
|
+
| "table"
|
|
213
|
+
| "inline-table"
|
|
214
|
+
| "table-row-group"
|
|
215
|
+
| "table-header-group"
|
|
216
|
+
| "table-footer-group"
|
|
217
|
+
| "table-row"
|
|
218
|
+
| "table-column-group"
|
|
219
|
+
| "table-column"
|
|
220
|
+
| "table-cell"
|
|
221
|
+
| "table-caption"
|
|
222
|
+
| "none"
|
|
223
|
+
| "inherit"
|
|
224
|
+
}?,
|
|
225
|
+
attribute visibility { "visible" | "hidden" | "collapse" | "inherit" }?,
|
|
226
|
+
attribute image-rendering {
|
|
227
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
228
|
+
}?,
|
|
229
|
+
attribute shape-rendering {
|
|
230
|
+
"auto"
|
|
231
|
+
| "optimizeSpeed"
|
|
232
|
+
| "crispEdges"
|
|
233
|
+
| "geometricPrecision"
|
|
234
|
+
| "inherit"
|
|
235
|
+
}?,
|
|
236
|
+
attribute text-rendering {
|
|
237
|
+
"auto"
|
|
238
|
+
| "optimizeSpeed"
|
|
239
|
+
| "optimizeLegibility"
|
|
240
|
+
| "geometricPrecision"
|
|
241
|
+
| "inherit"
|
|
242
|
+
}?,
|
|
243
|
+
attribute buffered-rendering {
|
|
244
|
+
"auto" | "dynamic" | "static" | "inherit"
|
|
245
|
+
}?)
|
|
246
|
+
& (attribute viewport-fill { "none" | rfc-color }?,
|
|
247
|
+
attribute viewport-fill-opacity { "inherit" | xsd:string }?)),
|
|
248
|
+
text
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
path =
|
|
252
|
+
element path {
|
|
253
|
+
(attribute id { xsd:NCName }
|
|
254
|
+
| attribute xml:id { xsd:NCName })?,
|
|
255
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
256
|
+
attribute xml:lang { xsd:language? }?,
|
|
257
|
+
attribute class { xsd:NMTOKENS }?,
|
|
258
|
+
attribute role { xsd:string }?,
|
|
259
|
+
attribute rel { xsd:string }?,
|
|
260
|
+
attribute rev { xsd:string }?,
|
|
261
|
+
attribute typeof { xsd:string }?,
|
|
262
|
+
attribute content { xsd:string }?,
|
|
263
|
+
attribute datatype { xsd:string }?,
|
|
264
|
+
attribute resource { xsd:string }?,
|
|
265
|
+
attribute about { xsd:string }?,
|
|
266
|
+
attribute property { xsd:string }?,
|
|
267
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
268
|
+
attribute transform { xsd:string | "none" }?,
|
|
269
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
270
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
271
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
272
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
273
|
+
attribute stroke { rfc-color }?,
|
|
274
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
275
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
276
|
+
attribute stroke-linecap {
|
|
277
|
+
"butt" | "round" | "square" | "inherit"
|
|
278
|
+
}?,
|
|
279
|
+
attribute stroke-linejoin {
|
|
280
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
281
|
+
}?,
|
|
282
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
283
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
284
|
+
attribute color { rfc-color }?,
|
|
285
|
+
attribute color-rendering {
|
|
286
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
287
|
+
}?)
|
|
288
|
+
& attribute vector-effect {
|
|
289
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
290
|
+
}?
|
|
291
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
292
|
+
attribute unicode-bidi {
|
|
293
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
294
|
+
}?)
|
|
295
|
+
& (attribute solid-color { rfc-color }?,
|
|
296
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
297
|
+
& (attribute display-align {
|
|
298
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
299
|
+
}?,
|
|
300
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
301
|
+
& (attribute stop-color { rfc-color }?,
|
|
302
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
303
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
304
|
+
| "inherit" }?,
|
|
305
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
306
|
+
attribute font-style {
|
|
307
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
308
|
+
}?,
|
|
309
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
310
|
+
attribute font-weight {
|
|
311
|
+
"normal"
|
|
312
|
+
| "bold"
|
|
313
|
+
| "bolder"
|
|
314
|
+
| "lighter"
|
|
315
|
+
| "inherit"
|
|
316
|
+
}?,
|
|
317
|
+
attribute text-anchor {
|
|
318
|
+
"start" | "middle" | "end" | "inherit"
|
|
319
|
+
}?,
|
|
320
|
+
attribute text-align {
|
|
321
|
+
"start" | "center" | "end" | "inherit"
|
|
322
|
+
}?)),
|
|
323
|
+
attribute d { xsd:string }?,
|
|
324
|
+
attribute pathLength { xsd:string }?,
|
|
325
|
+
(desc
|
|
326
|
+
| svgTitle)*
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
rect =
|
|
330
|
+
element rect {
|
|
331
|
+
(attribute id { xsd:NCName }
|
|
332
|
+
| attribute xml:id { xsd:NCName })?,
|
|
333
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
334
|
+
attribute xml:lang { xsd:language? }?,
|
|
335
|
+
attribute class { xsd:NMTOKENS }?,
|
|
336
|
+
attribute role { xsd:string }?,
|
|
337
|
+
attribute rel { xsd:string }?,
|
|
338
|
+
attribute rev { xsd:string }?,
|
|
339
|
+
attribute typeof { xsd:string }?,
|
|
340
|
+
attribute content { xsd:string }?,
|
|
341
|
+
attribute datatype { xsd:string }?,
|
|
342
|
+
attribute resource { xsd:string }?,
|
|
343
|
+
attribute about { xsd:string }?,
|
|
344
|
+
attribute property { xsd:string }?,
|
|
345
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
346
|
+
attribute transform { xsd:string | "none" }?,
|
|
347
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
348
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
349
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
350
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
351
|
+
attribute stroke { rfc-color }?,
|
|
352
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
353
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
354
|
+
attribute stroke-linecap {
|
|
355
|
+
"butt" | "round" | "square" | "inherit"
|
|
356
|
+
}?,
|
|
357
|
+
attribute stroke-linejoin {
|
|
358
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
359
|
+
}?,
|
|
360
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
361
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
362
|
+
attribute color { rfc-color }?,
|
|
363
|
+
attribute color-rendering {
|
|
364
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
365
|
+
}?)
|
|
366
|
+
& attribute vector-effect {
|
|
367
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
368
|
+
}?
|
|
369
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
370
|
+
attribute unicode-bidi {
|
|
371
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
372
|
+
}?)
|
|
373
|
+
& (attribute solid-color { rfc-color }?,
|
|
374
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
375
|
+
& (attribute display-align {
|
|
376
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
377
|
+
}?,
|
|
378
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
379
|
+
& (attribute stop-color { rfc-color }?,
|
|
380
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
381
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
382
|
+
| "inherit" }?,
|
|
383
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
384
|
+
attribute font-style {
|
|
385
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
386
|
+
}?,
|
|
387
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
388
|
+
attribute font-weight {
|
|
389
|
+
"normal"
|
|
390
|
+
| "bold"
|
|
391
|
+
| "bolder"
|
|
392
|
+
| "lighter"
|
|
393
|
+
| "inherit"
|
|
394
|
+
}?,
|
|
395
|
+
attribute text-anchor {
|
|
396
|
+
"start" | "middle" | "end" | "inherit"
|
|
397
|
+
}?,
|
|
398
|
+
attribute text-align {
|
|
399
|
+
"start" | "center" | "end" | "inherit"
|
|
400
|
+
}?)),
|
|
401
|
+
attribute x { xsd:string }?,
|
|
402
|
+
attribute y { xsd:string }?,
|
|
403
|
+
attribute width { xsd:string }?,
|
|
404
|
+
attribute height { xsd:string }?,
|
|
405
|
+
attribute rx { xsd:string }?,
|
|
406
|
+
attribute ry { xsd:string }?,
|
|
407
|
+
(desc
|
|
408
|
+
| svgTitle)*
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
circle =
|
|
412
|
+
element circle {
|
|
413
|
+
(attribute id { xsd:NCName }
|
|
414
|
+
| attribute xml:id { xsd:NCName })?,
|
|
415
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
416
|
+
attribute xml:lang { xsd:language? }?,
|
|
417
|
+
attribute class { xsd:NMTOKENS }?,
|
|
418
|
+
attribute role { xsd:string }?,
|
|
419
|
+
attribute rel { xsd:string }?,
|
|
420
|
+
attribute rev { xsd:string }?,
|
|
421
|
+
attribute typeof { xsd:string }?,
|
|
422
|
+
attribute content { xsd:string }?,
|
|
423
|
+
attribute datatype { xsd:string }?,
|
|
424
|
+
attribute resource { xsd:string }?,
|
|
425
|
+
attribute about { xsd:string }?,
|
|
426
|
+
attribute property { xsd:string }?,
|
|
427
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
428
|
+
attribute transform { xsd:string | "none" }?,
|
|
429
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
430
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
431
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
432
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
433
|
+
attribute stroke { rfc-color }?,
|
|
434
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
435
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
436
|
+
attribute stroke-linecap {
|
|
437
|
+
"butt" | "round" | "square" | "inherit"
|
|
438
|
+
}?,
|
|
439
|
+
attribute stroke-linejoin {
|
|
440
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
441
|
+
}?,
|
|
442
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
443
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
444
|
+
attribute color { rfc-color }?,
|
|
445
|
+
attribute color-rendering {
|
|
446
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
447
|
+
}?)
|
|
448
|
+
& attribute vector-effect {
|
|
449
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
450
|
+
}?
|
|
451
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
452
|
+
attribute unicode-bidi {
|
|
453
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
454
|
+
}?)
|
|
455
|
+
& (attribute solid-color { rfc-color }?,
|
|
456
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
457
|
+
& (attribute display-align {
|
|
458
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
459
|
+
}?,
|
|
460
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
461
|
+
& (attribute stop-color { rfc-color }?,
|
|
462
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
463
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
464
|
+
| "inherit" }?,
|
|
465
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
466
|
+
attribute font-style {
|
|
467
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
468
|
+
}?,
|
|
469
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
470
|
+
attribute font-weight {
|
|
471
|
+
"normal"
|
|
472
|
+
| "bold"
|
|
473
|
+
| "bolder"
|
|
474
|
+
| "lighter"
|
|
475
|
+
| "inherit"
|
|
476
|
+
}?,
|
|
477
|
+
attribute text-anchor {
|
|
478
|
+
"start" | "middle" | "end" | "inherit"
|
|
479
|
+
}?,
|
|
480
|
+
attribute text-align {
|
|
481
|
+
"start" | "center" | "end" | "inherit"
|
|
482
|
+
}?)),
|
|
483
|
+
attribute cx { xsd:string }?,
|
|
484
|
+
attribute cy { xsd:string }?,
|
|
485
|
+
attribute r { xsd:string }?,
|
|
486
|
+
(desc
|
|
487
|
+
| svgTitle)*
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
line =
|
|
491
|
+
element line {
|
|
492
|
+
(attribute id { xsd:NCName }
|
|
493
|
+
| attribute xml:id { xsd:NCName })?,
|
|
494
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
495
|
+
attribute xml:lang { xsd:language? }?,
|
|
496
|
+
attribute class { xsd:NMTOKENS }?,
|
|
497
|
+
attribute role { xsd:string }?,
|
|
498
|
+
attribute rel { xsd:string }?,
|
|
499
|
+
attribute rev { xsd:string }?,
|
|
500
|
+
attribute typeof { xsd:string }?,
|
|
501
|
+
attribute content { xsd:string }?,
|
|
502
|
+
attribute datatype { xsd:string }?,
|
|
503
|
+
attribute resource { xsd:string }?,
|
|
504
|
+
attribute about { xsd:string }?,
|
|
505
|
+
attribute property { xsd:string }?,
|
|
506
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
507
|
+
attribute transform { xsd:string | "none" }?,
|
|
508
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
509
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
510
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
511
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
512
|
+
attribute stroke { rfc-color }?,
|
|
513
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
514
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
515
|
+
attribute stroke-linecap {
|
|
516
|
+
"butt" | "round" | "square" | "inherit"
|
|
517
|
+
}?,
|
|
518
|
+
attribute stroke-linejoin {
|
|
519
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
520
|
+
}?,
|
|
521
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
522
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
523
|
+
attribute color { rfc-color }?,
|
|
524
|
+
attribute color-rendering {
|
|
525
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
526
|
+
}?)
|
|
527
|
+
& attribute vector-effect {
|
|
528
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
529
|
+
}?
|
|
530
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
531
|
+
attribute unicode-bidi {
|
|
532
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
533
|
+
}?)
|
|
534
|
+
& (attribute solid-color { rfc-color }?,
|
|
535
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
536
|
+
& (attribute display-align {
|
|
537
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
538
|
+
}?,
|
|
539
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
540
|
+
& (attribute stop-color { rfc-color }?,
|
|
541
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
542
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
543
|
+
| "inherit" }?,
|
|
544
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
545
|
+
attribute font-style {
|
|
546
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
547
|
+
}?,
|
|
548
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
549
|
+
attribute font-weight {
|
|
550
|
+
"normal"
|
|
551
|
+
| "bold"
|
|
552
|
+
| "bolder"
|
|
553
|
+
| "lighter"
|
|
554
|
+
| "inherit"
|
|
555
|
+
}?,
|
|
556
|
+
attribute text-anchor {
|
|
557
|
+
"start" | "middle" | "end" | "inherit"
|
|
558
|
+
}?,
|
|
559
|
+
attribute text-align {
|
|
560
|
+
"start" | "center" | "end" | "inherit"
|
|
561
|
+
}?)),
|
|
562
|
+
attribute x1 { xsd:string }?,
|
|
563
|
+
attribute y1 { xsd:string }?,
|
|
564
|
+
attribute x2 { xsd:string }?,
|
|
565
|
+
attribute y2 { xsd:string }?,
|
|
566
|
+
(desc
|
|
567
|
+
| svgTitle)*
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
ellipse =
|
|
571
|
+
element ellipse {
|
|
572
|
+
(attribute id { xsd:NCName }
|
|
573
|
+
| attribute xml:id { xsd:NCName })?,
|
|
574
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
575
|
+
attribute xml:lang { xsd:language? }?,
|
|
576
|
+
attribute class { xsd:NMTOKENS }?,
|
|
577
|
+
attribute role { xsd:string }?,
|
|
578
|
+
attribute rel { xsd:string }?,
|
|
579
|
+
attribute rev { xsd:string }?,
|
|
580
|
+
attribute typeof { xsd:string }?,
|
|
581
|
+
attribute content { xsd:string }?,
|
|
582
|
+
attribute datatype { xsd:string }?,
|
|
583
|
+
attribute resource { xsd:string }?,
|
|
584
|
+
attribute about { xsd:string }?,
|
|
585
|
+
attribute property { xsd:string }?,
|
|
586
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
587
|
+
attribute transform { xsd:string | "none" }?,
|
|
588
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
589
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
590
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
591
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
592
|
+
attribute stroke { rfc-color }?,
|
|
593
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
594
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
595
|
+
attribute stroke-linecap {
|
|
596
|
+
"butt" | "round" | "square" | "inherit"
|
|
597
|
+
}?,
|
|
598
|
+
attribute stroke-linejoin {
|
|
599
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
600
|
+
}?,
|
|
601
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
602
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
603
|
+
attribute color { rfc-color }?,
|
|
604
|
+
attribute color-rendering {
|
|
605
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
606
|
+
}?)
|
|
607
|
+
& attribute vector-effect {
|
|
608
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
609
|
+
}?
|
|
610
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
611
|
+
attribute unicode-bidi {
|
|
612
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
613
|
+
}?)
|
|
614
|
+
& (attribute solid-color { rfc-color }?,
|
|
615
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
616
|
+
& (attribute display-align {
|
|
617
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
618
|
+
}?,
|
|
619
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
620
|
+
& (attribute stop-color { rfc-color }?,
|
|
621
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
622
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
623
|
+
| "inherit" }?,
|
|
624
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
625
|
+
attribute font-style {
|
|
626
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
627
|
+
}?,
|
|
628
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
629
|
+
attribute font-weight {
|
|
630
|
+
"normal"
|
|
631
|
+
| "bold"
|
|
632
|
+
| "bolder"
|
|
633
|
+
| "lighter"
|
|
634
|
+
| "inherit"
|
|
635
|
+
}?,
|
|
636
|
+
attribute text-anchor {
|
|
637
|
+
"start" | "middle" | "end" | "inherit"
|
|
638
|
+
}?,
|
|
639
|
+
attribute text-align {
|
|
640
|
+
"start" | "center" | "end" | "inherit"
|
|
641
|
+
}?)),
|
|
642
|
+
attribute rx { xsd:string }?,
|
|
643
|
+
attribute ry { xsd:string }?,
|
|
644
|
+
attribute cx { xsd:string }?,
|
|
645
|
+
attribute cy { xsd:string }?,
|
|
646
|
+
(desc
|
|
647
|
+
| svgTitle)*
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
polyline =
|
|
651
|
+
element polyline {
|
|
652
|
+
(attribute id { xsd:NCName }
|
|
653
|
+
| attribute xml:id { xsd:NCName })?,
|
|
654
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
655
|
+
attribute xml:lang { xsd:language? }?,
|
|
656
|
+
attribute class { xsd:NMTOKENS }?,
|
|
657
|
+
attribute role { xsd:string }?,
|
|
658
|
+
attribute rel { xsd:string }?,
|
|
659
|
+
attribute rev { xsd:string }?,
|
|
660
|
+
attribute typeof { xsd:string }?,
|
|
661
|
+
attribute content { xsd:string }?,
|
|
662
|
+
attribute datatype { xsd:string }?,
|
|
663
|
+
attribute resource { xsd:string }?,
|
|
664
|
+
attribute about { xsd:string }?,
|
|
665
|
+
attribute property { xsd:string }?,
|
|
666
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
667
|
+
attribute transform { xsd:string | "none" }?,
|
|
668
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
669
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
670
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
671
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
672
|
+
attribute stroke { rfc-color }?,
|
|
673
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
674
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
675
|
+
attribute stroke-linecap {
|
|
676
|
+
"butt" | "round" | "square" | "inherit"
|
|
677
|
+
}?,
|
|
678
|
+
attribute stroke-linejoin {
|
|
679
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
680
|
+
}?,
|
|
681
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
682
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
683
|
+
attribute color { rfc-color }?,
|
|
684
|
+
attribute color-rendering {
|
|
685
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
686
|
+
}?)
|
|
687
|
+
& attribute vector-effect {
|
|
688
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
689
|
+
}?
|
|
690
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
691
|
+
attribute unicode-bidi {
|
|
692
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
693
|
+
}?)
|
|
694
|
+
& (attribute solid-color { rfc-color }?,
|
|
695
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
696
|
+
& (attribute display-align {
|
|
697
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
698
|
+
}?,
|
|
699
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
700
|
+
& (attribute stop-color { rfc-color }?,
|
|
701
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
702
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
703
|
+
| "inherit" }?,
|
|
704
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
705
|
+
attribute font-style {
|
|
706
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
707
|
+
}?,
|
|
708
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
709
|
+
attribute font-weight {
|
|
710
|
+
"normal"
|
|
711
|
+
| "bold"
|
|
712
|
+
| "bolder"
|
|
713
|
+
| "lighter"
|
|
714
|
+
| "inherit"
|
|
715
|
+
}?,
|
|
716
|
+
attribute text-anchor {
|
|
717
|
+
"start" | "middle" | "end" | "inherit"
|
|
718
|
+
}?,
|
|
719
|
+
attribute text-align {
|
|
720
|
+
"start" | "center" | "end" | "inherit"
|
|
721
|
+
}?)),
|
|
722
|
+
attribute points { xsd:string }?,
|
|
723
|
+
(desc
|
|
724
|
+
| svgTitle)*
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
polygon =
|
|
728
|
+
element polygon {
|
|
729
|
+
(attribute id { xsd:NCName }
|
|
730
|
+
| attribute xml:id { xsd:NCName })?,
|
|
731
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
732
|
+
attribute xml:lang { xsd:language? }?,
|
|
733
|
+
attribute class { xsd:NMTOKENS }?,
|
|
734
|
+
attribute role { xsd:string }?,
|
|
735
|
+
attribute rel { xsd:string }?,
|
|
736
|
+
attribute rev { xsd:string }?,
|
|
737
|
+
attribute typeof { xsd:string }?,
|
|
738
|
+
attribute content { xsd:string }?,
|
|
739
|
+
attribute datatype { xsd:string }?,
|
|
740
|
+
attribute resource { xsd:string }?,
|
|
741
|
+
attribute about { xsd:string }?,
|
|
742
|
+
attribute property { xsd:string }?,
|
|
743
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
744
|
+
attribute transform { xsd:string | "none" }?,
|
|
745
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
746
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
747
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
748
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
749
|
+
attribute stroke { rfc-color }?,
|
|
750
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
751
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
752
|
+
attribute stroke-linecap {
|
|
753
|
+
"butt" | "round" | "square" | "inherit"
|
|
754
|
+
}?,
|
|
755
|
+
attribute stroke-linejoin {
|
|
756
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
757
|
+
}?,
|
|
758
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
759
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
760
|
+
attribute color { rfc-color }?,
|
|
761
|
+
attribute color-rendering {
|
|
762
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
763
|
+
}?)
|
|
764
|
+
& attribute vector-effect {
|
|
765
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
766
|
+
}?
|
|
767
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
768
|
+
attribute unicode-bidi {
|
|
769
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
770
|
+
}?)
|
|
771
|
+
& (attribute solid-color { rfc-color }?,
|
|
772
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
773
|
+
& (attribute display-align {
|
|
774
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
775
|
+
}?,
|
|
776
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
777
|
+
& (attribute stop-color { rfc-color }?,
|
|
778
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
779
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
780
|
+
| "inherit" }?,
|
|
781
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
782
|
+
attribute font-style {
|
|
783
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
784
|
+
}?,
|
|
785
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
786
|
+
attribute font-weight {
|
|
787
|
+
"normal"
|
|
788
|
+
| "bold"
|
|
789
|
+
| "bolder"
|
|
790
|
+
| "lighter"
|
|
791
|
+
| "inherit"
|
|
792
|
+
}?,
|
|
793
|
+
attribute text-anchor {
|
|
794
|
+
"start" | "middle" | "end" | "inherit"
|
|
795
|
+
}?,
|
|
796
|
+
attribute text-align {
|
|
797
|
+
"start" | "center" | "end" | "inherit"
|
|
798
|
+
}?)),
|
|
799
|
+
attribute points { xsd:string }?,
|
|
800
|
+
(desc
|
|
801
|
+
| svgTitle)*
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
solidColor =
|
|
805
|
+
element solidColor {
|
|
806
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
807
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
808
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
809
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
810
|
+
attribute stroke { rfc-color }?,
|
|
811
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
812
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
813
|
+
attribute stroke-linecap {
|
|
814
|
+
"butt" | "round" | "square" | "inherit"
|
|
815
|
+
}?,
|
|
816
|
+
attribute stroke-linejoin {
|
|
817
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
818
|
+
}?,
|
|
819
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
820
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
821
|
+
attribute color { rfc-color }?,
|
|
822
|
+
attribute color-rendering {
|
|
823
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
824
|
+
}?)
|
|
825
|
+
& attribute vector-effect {
|
|
826
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
827
|
+
}?
|
|
828
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
829
|
+
attribute unicode-bidi {
|
|
830
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
831
|
+
}?)
|
|
832
|
+
& (attribute solid-color { rfc-color }?,
|
|
833
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
834
|
+
& (attribute display-align {
|
|
835
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
836
|
+
}?,
|
|
837
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
838
|
+
& (attribute stop-color { rfc-color }?,
|
|
839
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
840
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
841
|
+
| "inherit" }?,
|
|
842
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
843
|
+
attribute font-style {
|
|
844
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
845
|
+
}?,
|
|
846
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
847
|
+
attribute font-weight {
|
|
848
|
+
"normal"
|
|
849
|
+
| "bold"
|
|
850
|
+
| "bolder"
|
|
851
|
+
| "lighter"
|
|
852
|
+
| "inherit"
|
|
853
|
+
}?,
|
|
854
|
+
attribute text-anchor {
|
|
855
|
+
"start" | "middle" | "end" | "inherit"
|
|
856
|
+
}?,
|
|
857
|
+
attribute text-align {
|
|
858
|
+
"start" | "center" | "end" | "inherit"
|
|
859
|
+
}?)),
|
|
860
|
+
(attribute id { xsd:NCName }
|
|
861
|
+
| attribute xml:id { xsd:NCName })?,
|
|
862
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
863
|
+
attribute xml:lang { xsd:language? }?,
|
|
864
|
+
attribute class { xsd:NMTOKENS }?,
|
|
865
|
+
attribute role { xsd:string }?,
|
|
866
|
+
attribute rel { xsd:string }?,
|
|
867
|
+
attribute rev { xsd:string }?,
|
|
868
|
+
attribute typeof { xsd:string }?,
|
|
869
|
+
attribute content { xsd:string }?,
|
|
870
|
+
attribute datatype { xsd:string }?,
|
|
871
|
+
attribute resource { xsd:string }?,
|
|
872
|
+
attribute about { xsd:string }?,
|
|
873
|
+
attribute property { xsd:string }?,
|
|
874
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
875
|
+
(desc
|
|
876
|
+
| svgTitle)*
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
textArea =
|
|
880
|
+
element textArea {
|
|
881
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
882
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
883
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
884
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
885
|
+
attribute stroke { rfc-color }?,
|
|
886
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
887
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
888
|
+
attribute stroke-linecap {
|
|
889
|
+
"butt" | "round" | "square" | "inherit"
|
|
890
|
+
}?,
|
|
891
|
+
attribute stroke-linejoin {
|
|
892
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
893
|
+
}?,
|
|
894
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
895
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
896
|
+
attribute color { rfc-color }?,
|
|
897
|
+
attribute color-rendering {
|
|
898
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
899
|
+
}?)
|
|
900
|
+
& attribute vector-effect {
|
|
901
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
902
|
+
}?
|
|
903
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
904
|
+
attribute unicode-bidi {
|
|
905
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
906
|
+
}?)
|
|
907
|
+
& (attribute solid-color { rfc-color }?,
|
|
908
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
909
|
+
& (attribute display-align {
|
|
910
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
911
|
+
}?,
|
|
912
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
913
|
+
& (attribute stop-color { rfc-color }?,
|
|
914
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
915
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
916
|
+
| "inherit" }?,
|
|
917
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
918
|
+
attribute font-style {
|
|
919
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
920
|
+
}?,
|
|
921
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
922
|
+
attribute font-weight {
|
|
923
|
+
"normal"
|
|
924
|
+
| "bold"
|
|
925
|
+
| "bolder"
|
|
926
|
+
| "lighter"
|
|
927
|
+
| "inherit"
|
|
928
|
+
}?,
|
|
929
|
+
attribute text-anchor {
|
|
930
|
+
"start" | "middle" | "end" | "inherit"
|
|
931
|
+
}?,
|
|
932
|
+
attribute text-align {
|
|
933
|
+
"start" | "center" | "end" | "inherit"
|
|
934
|
+
}?)),
|
|
935
|
+
(attribute id { xsd:NCName }
|
|
936
|
+
| attribute xml:id { xsd:NCName })?,
|
|
937
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
938
|
+
attribute xml:lang { xsd:language? }?,
|
|
939
|
+
attribute class { xsd:NMTOKENS }?,
|
|
940
|
+
attribute role { xsd:string }?,
|
|
941
|
+
attribute rel { xsd:string }?,
|
|
942
|
+
attribute rev { xsd:string }?,
|
|
943
|
+
attribute typeof { xsd:string }?,
|
|
944
|
+
attribute content { xsd:string }?,
|
|
945
|
+
attribute datatype { xsd:string }?,
|
|
946
|
+
attribute resource { xsd:string }?,
|
|
947
|
+
attribute about { xsd:string }?,
|
|
948
|
+
attribute property { xsd:string }?,
|
|
949
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
950
|
+
attribute transform { xsd:string | "none" }?,
|
|
951
|
+
attribute x { xsd:string }?,
|
|
952
|
+
attribute y { xsd:string }?,
|
|
953
|
+
attribute width { xsd:string | "auto" }?,
|
|
954
|
+
attribute height { xsd:string | "auto" }?,
|
|
955
|
+
(tspan
|
|
956
|
+
| desc
|
|
957
|
+
| svgTitle
|
|
958
|
+
| tspan_2
|
|
959
|
+
| text
|
|
960
|
+
| a_2)+
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
\text =
|
|
964
|
+
element text {
|
|
965
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
966
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
967
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
968
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
969
|
+
attribute stroke { rfc-color }?,
|
|
970
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
971
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
972
|
+
attribute stroke-linecap {
|
|
973
|
+
"butt" | "round" | "square" | "inherit"
|
|
974
|
+
}?,
|
|
975
|
+
attribute stroke-linejoin {
|
|
976
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
977
|
+
}?,
|
|
978
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
979
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
980
|
+
attribute color { rfc-color }?,
|
|
981
|
+
attribute color-rendering {
|
|
982
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
983
|
+
}?)
|
|
984
|
+
& attribute vector-effect {
|
|
985
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
986
|
+
}?
|
|
987
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
988
|
+
attribute unicode-bidi {
|
|
989
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
990
|
+
}?)
|
|
991
|
+
& (attribute solid-color { rfc-color }?,
|
|
992
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
993
|
+
& (attribute display-align {
|
|
994
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
995
|
+
}?,
|
|
996
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
997
|
+
& (attribute stop-color { rfc-color }?,
|
|
998
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
999
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1000
|
+
| "inherit" }?,
|
|
1001
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1002
|
+
attribute font-style {
|
|
1003
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1004
|
+
}?,
|
|
1005
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1006
|
+
attribute font-weight {
|
|
1007
|
+
"normal"
|
|
1008
|
+
| "bold"
|
|
1009
|
+
| "bolder"
|
|
1010
|
+
| "lighter"
|
|
1011
|
+
| "inherit"
|
|
1012
|
+
}?,
|
|
1013
|
+
attribute text-anchor {
|
|
1014
|
+
"start" | "middle" | "end" | "inherit"
|
|
1015
|
+
}?,
|
|
1016
|
+
attribute text-align {
|
|
1017
|
+
"start" | "center" | "end" | "inherit"
|
|
1018
|
+
}?)),
|
|
1019
|
+
(attribute id { xsd:NCName }
|
|
1020
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1021
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1022
|
+
attribute xml:lang { xsd:language? }?,
|
|
1023
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1024
|
+
attribute role { xsd:string }?,
|
|
1025
|
+
attribute rel { xsd:string }?,
|
|
1026
|
+
attribute rev { xsd:string }?,
|
|
1027
|
+
attribute typeof { xsd:string }?,
|
|
1028
|
+
attribute content { xsd:string }?,
|
|
1029
|
+
attribute datatype { xsd:string }?,
|
|
1030
|
+
attribute resource { xsd:string }?,
|
|
1031
|
+
attribute about { xsd:string }?,
|
|
1032
|
+
attribute property { xsd:string }?,
|
|
1033
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1034
|
+
attribute transform { xsd:string | "none" }?,
|
|
1035
|
+
attribute x { xsd:string }?,
|
|
1036
|
+
attribute y { xsd:string }?,
|
|
1037
|
+
attribute rotate { xsd:string }?,
|
|
1038
|
+
(desc
|
|
1039
|
+
| svgTitle
|
|
1040
|
+
| tspan_2
|
|
1041
|
+
| text
|
|
1042
|
+
| a_2)+
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
g =
|
|
1046
|
+
element g {
|
|
1047
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1048
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1049
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1050
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1051
|
+
attribute stroke { rfc-color }?,
|
|
1052
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1053
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1054
|
+
attribute stroke-linecap {
|
|
1055
|
+
"butt" | "round" | "square" | "inherit"
|
|
1056
|
+
}?,
|
|
1057
|
+
attribute stroke-linejoin {
|
|
1058
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1059
|
+
}?,
|
|
1060
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1061
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1062
|
+
attribute color { rfc-color }?,
|
|
1063
|
+
attribute color-rendering {
|
|
1064
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1065
|
+
}?)
|
|
1066
|
+
& attribute vector-effect {
|
|
1067
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1068
|
+
}?
|
|
1069
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1070
|
+
attribute unicode-bidi {
|
|
1071
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1072
|
+
}?)
|
|
1073
|
+
& (attribute solid-color { rfc-color }?,
|
|
1074
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1075
|
+
& (attribute display-align {
|
|
1076
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1077
|
+
}?,
|
|
1078
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1079
|
+
& (attribute stop-color { rfc-color }?,
|
|
1080
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1081
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1082
|
+
| "inherit" }?,
|
|
1083
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1084
|
+
attribute font-style {
|
|
1085
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1086
|
+
}?,
|
|
1087
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1088
|
+
attribute font-weight {
|
|
1089
|
+
"normal"
|
|
1090
|
+
| "bold"
|
|
1091
|
+
| "bolder"
|
|
1092
|
+
| "lighter"
|
|
1093
|
+
| "inherit"
|
|
1094
|
+
}?,
|
|
1095
|
+
attribute text-anchor {
|
|
1096
|
+
"start" | "middle" | "end" | "inherit"
|
|
1097
|
+
}?,
|
|
1098
|
+
attribute text-align {
|
|
1099
|
+
"start" | "center" | "end" | "inherit"
|
|
1100
|
+
}?)),
|
|
1101
|
+
(attribute id { xsd:NCName }
|
|
1102
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1103
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1104
|
+
attribute xml:lang { xsd:language? }?,
|
|
1105
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1106
|
+
attribute role { xsd:string }?,
|
|
1107
|
+
attribute rel { xsd:string }?,
|
|
1108
|
+
attribute rev { xsd:string }?,
|
|
1109
|
+
attribute typeof { xsd:string }?,
|
|
1110
|
+
attribute content { xsd:string }?,
|
|
1111
|
+
attribute datatype { xsd:string }?,
|
|
1112
|
+
attribute resource { xsd:string }?,
|
|
1113
|
+
attribute about { xsd:string }?,
|
|
1114
|
+
attribute property { xsd:string }?,
|
|
1115
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1116
|
+
attribute transform { xsd:string | "none" }?,
|
|
1117
|
+
(desc
|
|
1118
|
+
| svgTitle
|
|
1119
|
+
| path
|
|
1120
|
+
| rect
|
|
1121
|
+
| circle
|
|
1122
|
+
| line
|
|
1123
|
+
| ellipse
|
|
1124
|
+
| polyline
|
|
1125
|
+
| polygon
|
|
1126
|
+
| solidColor
|
|
1127
|
+
| textArea
|
|
1128
|
+
| \text
|
|
1129
|
+
| g
|
|
1130
|
+
| defs
|
|
1131
|
+
| use
|
|
1132
|
+
| a)*
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
defs =
|
|
1136
|
+
element defs {
|
|
1137
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1138
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1139
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1140
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1141
|
+
attribute stroke { rfc-color }?,
|
|
1142
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1143
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1144
|
+
attribute stroke-linecap {
|
|
1145
|
+
"butt" | "round" | "square" | "inherit"
|
|
1146
|
+
}?,
|
|
1147
|
+
attribute stroke-linejoin {
|
|
1148
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1149
|
+
}?,
|
|
1150
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1151
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1152
|
+
attribute color { rfc-color }?,
|
|
1153
|
+
attribute color-rendering {
|
|
1154
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1155
|
+
}?)
|
|
1156
|
+
& attribute vector-effect {
|
|
1157
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1158
|
+
}?
|
|
1159
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1160
|
+
attribute unicode-bidi {
|
|
1161
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1162
|
+
}?)
|
|
1163
|
+
& (attribute solid-color { rfc-color }?,
|
|
1164
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1165
|
+
& (attribute display-align {
|
|
1166
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1167
|
+
}?,
|
|
1168
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1169
|
+
& (attribute stop-color { rfc-color }?,
|
|
1170
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1171
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1172
|
+
| "inherit" }?,
|
|
1173
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1174
|
+
attribute font-style {
|
|
1175
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1176
|
+
}?,
|
|
1177
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1178
|
+
attribute font-weight {
|
|
1179
|
+
"normal"
|
|
1180
|
+
| "bold"
|
|
1181
|
+
| "bolder"
|
|
1182
|
+
| "lighter"
|
|
1183
|
+
| "inherit"
|
|
1184
|
+
}?,
|
|
1185
|
+
attribute text-anchor {
|
|
1186
|
+
"start" | "middle" | "end" | "inherit"
|
|
1187
|
+
}?,
|
|
1188
|
+
attribute text-align {
|
|
1189
|
+
"start" | "center" | "end" | "inherit"
|
|
1190
|
+
}?)),
|
|
1191
|
+
(attribute id { xsd:NCName }
|
|
1192
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1193
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1194
|
+
attribute xml:lang { xsd:language? }?,
|
|
1195
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1196
|
+
attribute role { xsd:string }?,
|
|
1197
|
+
attribute rel { xsd:string }?,
|
|
1198
|
+
attribute rev { xsd:string }?,
|
|
1199
|
+
attribute typeof { xsd:string }?,
|
|
1200
|
+
attribute content { xsd:string }?,
|
|
1201
|
+
attribute datatype { xsd:string }?,
|
|
1202
|
+
attribute resource { xsd:string }?,
|
|
1203
|
+
attribute about { xsd:string }?,
|
|
1204
|
+
attribute property { xsd:string }?,
|
|
1205
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1206
|
+
(desc
|
|
1207
|
+
| svgTitle
|
|
1208
|
+
| path
|
|
1209
|
+
| rect
|
|
1210
|
+
| circle
|
|
1211
|
+
| line
|
|
1212
|
+
| ellipse
|
|
1213
|
+
| polyline
|
|
1214
|
+
| polygon
|
|
1215
|
+
| solidColor
|
|
1216
|
+
| textArea
|
|
1217
|
+
| \text
|
|
1218
|
+
| g
|
|
1219
|
+
| defs
|
|
1220
|
+
| use
|
|
1221
|
+
| a)*
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
use =
|
|
1225
|
+
element use {
|
|
1226
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1227
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1228
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1229
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1230
|
+
attribute stroke { rfc-color }?,
|
|
1231
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1232
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1233
|
+
attribute stroke-linecap {
|
|
1234
|
+
"butt" | "round" | "square" | "inherit"
|
|
1235
|
+
}?,
|
|
1236
|
+
attribute stroke-linejoin {
|
|
1237
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1238
|
+
}?,
|
|
1239
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1240
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1241
|
+
attribute color { rfc-color }?,
|
|
1242
|
+
attribute color-rendering {
|
|
1243
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1244
|
+
}?)
|
|
1245
|
+
& attribute vector-effect {
|
|
1246
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1247
|
+
}?
|
|
1248
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1249
|
+
attribute unicode-bidi {
|
|
1250
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1251
|
+
}?)
|
|
1252
|
+
& (attribute solid-color { rfc-color }?,
|
|
1253
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1254
|
+
& (attribute display-align {
|
|
1255
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1256
|
+
}?,
|
|
1257
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1258
|
+
& (attribute stop-color { rfc-color }?,
|
|
1259
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1260
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1261
|
+
| "inherit" }?,
|
|
1262
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1263
|
+
attribute font-style {
|
|
1264
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1265
|
+
}?,
|
|
1266
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1267
|
+
attribute font-weight {
|
|
1268
|
+
"normal"
|
|
1269
|
+
| "bold"
|
|
1270
|
+
| "bolder"
|
|
1271
|
+
| "lighter"
|
|
1272
|
+
| "inherit"
|
|
1273
|
+
}?,
|
|
1274
|
+
attribute text-anchor {
|
|
1275
|
+
"start" | "middle" | "end" | "inherit"
|
|
1276
|
+
}?,
|
|
1277
|
+
attribute text-align {
|
|
1278
|
+
"start" | "center" | "end" | "inherit"
|
|
1279
|
+
}?)),
|
|
1280
|
+
(attribute id { xsd:NCName }
|
|
1281
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1282
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1283
|
+
attribute xml:lang { xsd:language? }?,
|
|
1284
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1285
|
+
attribute role { xsd:string }?,
|
|
1286
|
+
attribute rel { xsd:string }?,
|
|
1287
|
+
attribute rev { xsd:string }?,
|
|
1288
|
+
attribute typeof { xsd:string }?,
|
|
1289
|
+
attribute content { xsd:string }?,
|
|
1290
|
+
attribute datatype { xsd:string }?,
|
|
1291
|
+
attribute resource { xsd:string }?,
|
|
1292
|
+
attribute about { xsd:string }?,
|
|
1293
|
+
attribute property { xsd:string }?,
|
|
1294
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1295
|
+
attribute transform { xsd:string | "none" }?,
|
|
1296
|
+
attribute xlink:show { "embed" }?,
|
|
1297
|
+
attribute xlink:actuate { "onLoad" }?,
|
|
1298
|
+
attribute xlink:type { "simple" }?,
|
|
1299
|
+
attribute xlink:role { xsd:anyURI | xsd:string }?,
|
|
1300
|
+
attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
|
|
1301
|
+
attribute xlink:title { text }?,
|
|
1302
|
+
attribute xlink:href { xsd:anyURI | xsd:string }?,
|
|
1303
|
+
attribute x { xsd:string }?,
|
|
1304
|
+
attribute y { xsd:string }?,
|
|
1305
|
+
(desc
|
|
1306
|
+
| svgTitle)*
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
a =
|
|
1310
|
+
element a {
|
|
1311
|
+
(attribute id { xsd:NCName }
|
|
1312
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1313
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1314
|
+
attribute xml:lang { xsd:language? }?,
|
|
1315
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1316
|
+
attribute role { xsd:string }?,
|
|
1317
|
+
attribute rel { xsd:string }?,
|
|
1318
|
+
attribute rev { xsd:string }?,
|
|
1319
|
+
attribute typeof { xsd:string }?,
|
|
1320
|
+
attribute content { xsd:string }?,
|
|
1321
|
+
attribute datatype { xsd:string }?,
|
|
1322
|
+
attribute resource { xsd:string }?,
|
|
1323
|
+
attribute about { xsd:string }?,
|
|
1324
|
+
attribute property { xsd:string }?,
|
|
1325
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1326
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1327
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1328
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1329
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1330
|
+
attribute stroke { rfc-color }?,
|
|
1331
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1332
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1333
|
+
attribute stroke-linecap {
|
|
1334
|
+
"butt" | "round" | "square" | "inherit"
|
|
1335
|
+
}?,
|
|
1336
|
+
attribute stroke-linejoin {
|
|
1337
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1338
|
+
}?,
|
|
1339
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1340
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1341
|
+
attribute color { rfc-color }?,
|
|
1342
|
+
attribute color-rendering {
|
|
1343
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1344
|
+
}?)
|
|
1345
|
+
& attribute vector-effect {
|
|
1346
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1347
|
+
}?
|
|
1348
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1349
|
+
attribute unicode-bidi {
|
|
1350
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1351
|
+
}?)
|
|
1352
|
+
& (attribute solid-color { rfc-color }?,
|
|
1353
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1354
|
+
& (attribute display-align {
|
|
1355
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1356
|
+
}?,
|
|
1357
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1358
|
+
& (attribute stop-color { rfc-color }?,
|
|
1359
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1360
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1361
|
+
| "inherit" }?,
|
|
1362
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1363
|
+
attribute font-style {
|
|
1364
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1365
|
+
}?,
|
|
1366
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1367
|
+
attribute font-weight {
|
|
1368
|
+
"normal"
|
|
1369
|
+
| "bold"
|
|
1370
|
+
| "bolder"
|
|
1371
|
+
| "lighter"
|
|
1372
|
+
| "inherit"
|
|
1373
|
+
}?,
|
|
1374
|
+
attribute text-anchor {
|
|
1375
|
+
"start" | "middle" | "end" | "inherit"
|
|
1376
|
+
}?,
|
|
1377
|
+
attribute text-align {
|
|
1378
|
+
"start" | "center" | "end" | "inherit"
|
|
1379
|
+
}?)),
|
|
1380
|
+
attribute transform { xsd:string | "none" }?,
|
|
1381
|
+
attribute xlink:show { "new" | "replace" }?,
|
|
1382
|
+
attribute xlink:actuate { "onRequest" }?,
|
|
1383
|
+
attribute xlink:type { "simple" }?,
|
|
1384
|
+
attribute xlink:role { xsd:anyURI | xsd:string }?,
|
|
1385
|
+
attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
|
|
1386
|
+
attribute xlink:title { text }?,
|
|
1387
|
+
attribute xlink:href { xsd:anyURI | xsd:string }?,
|
|
1388
|
+
attribute target {
|
|
1389
|
+
"_replace" | "_self" | "_parent" | "_top" | "_blank" | xsd:Name
|
|
1390
|
+
}?,
|
|
1391
|
+
(desc
|
|
1392
|
+
| svgTitle
|
|
1393
|
+
| path
|
|
1394
|
+
| rect
|
|
1395
|
+
| circle
|
|
1396
|
+
| line
|
|
1397
|
+
| ellipse
|
|
1398
|
+
| polyline
|
|
1399
|
+
| polygon
|
|
1400
|
+
| solidColor
|
|
1401
|
+
| textArea
|
|
1402
|
+
| \text
|
|
1403
|
+
| g
|
|
1404
|
+
| defs
|
|
1405
|
+
| use)*
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
tspan =
|
|
1409
|
+
element tspan {
|
|
1410
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1411
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1412
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1413
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1414
|
+
attribute stroke { rfc-color }?,
|
|
1415
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1416
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1417
|
+
attribute stroke-linecap {
|
|
1418
|
+
"butt" | "round" | "square" | "inherit"
|
|
1419
|
+
}?,
|
|
1420
|
+
attribute stroke-linejoin {
|
|
1421
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1422
|
+
}?,
|
|
1423
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1424
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1425
|
+
attribute color { rfc-color }?,
|
|
1426
|
+
attribute color-rendering {
|
|
1427
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1428
|
+
}?)
|
|
1429
|
+
& attribute vector-effect {
|
|
1430
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1431
|
+
}?
|
|
1432
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1433
|
+
attribute unicode-bidi {
|
|
1434
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1435
|
+
}?)
|
|
1436
|
+
& (attribute solid-color { rfc-color }?,
|
|
1437
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1438
|
+
& (attribute display-align {
|
|
1439
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1440
|
+
}?,
|
|
1441
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1442
|
+
& (attribute stop-color { rfc-color }?,
|
|
1443
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1444
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1445
|
+
| "inherit" }?,
|
|
1446
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1447
|
+
attribute font-style {
|
|
1448
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1449
|
+
}?,
|
|
1450
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1451
|
+
attribute font-weight {
|
|
1452
|
+
"normal"
|
|
1453
|
+
| "bold"
|
|
1454
|
+
| "bolder"
|
|
1455
|
+
| "lighter"
|
|
1456
|
+
| "inherit"
|
|
1457
|
+
}?,
|
|
1458
|
+
attribute text-anchor {
|
|
1459
|
+
"start" | "middle" | "end" | "inherit"
|
|
1460
|
+
}?,
|
|
1461
|
+
attribute text-align {
|
|
1462
|
+
"start" | "center" | "end" | "inherit"
|
|
1463
|
+
}?)),
|
|
1464
|
+
(attribute id { xsd:NCName }
|
|
1465
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1466
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1467
|
+
attribute xml:lang { xsd:language? }?,
|
|
1468
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1469
|
+
attribute role { xsd:string }?,
|
|
1470
|
+
attribute rel { xsd:string }?,
|
|
1471
|
+
attribute rev { xsd:string }?,
|
|
1472
|
+
attribute typeof { xsd:string }?,
|
|
1473
|
+
attribute content { xsd:string }?,
|
|
1474
|
+
attribute datatype { xsd:string }?,
|
|
1475
|
+
attribute resource { xsd:string }?,
|
|
1476
|
+
attribute about { xsd:string }?,
|
|
1477
|
+
attribute property { xsd:string }?,
|
|
1478
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1479
|
+
attribute x { xsd:string }?, # For SVG-1.2-RFC
|
|
1480
|
+
attribute y { xsd:string }?,
|
|
1481
|
+
(tbreak
|
|
1482
|
+
| desc
|
|
1483
|
+
| svgTitle
|
|
1484
|
+
| tspan_2
|
|
1485
|
+
| text
|
|
1486
|
+
| a_2)+
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1489
|
+
tspan_2 =
|
|
1490
|
+
element tspan {
|
|
1491
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1492
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1493
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1494
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1495
|
+
attribute stroke { rfc-color }?,
|
|
1496
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1497
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1498
|
+
attribute stroke-linecap {
|
|
1499
|
+
"butt" | "round" | "square" | "inherit"
|
|
1500
|
+
}?,
|
|
1501
|
+
attribute stroke-linejoin {
|
|
1502
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1503
|
+
}?,
|
|
1504
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1505
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1506
|
+
attribute color { rfc-color }?,
|
|
1507
|
+
attribute color-rendering {
|
|
1508
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1509
|
+
}?)
|
|
1510
|
+
& attribute vector-effect {
|
|
1511
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1512
|
+
}?
|
|
1513
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1514
|
+
attribute unicode-bidi {
|
|
1515
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1516
|
+
}?)
|
|
1517
|
+
& (attribute solid-color { rfc-color }?,
|
|
1518
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1519
|
+
& (attribute display-align {
|
|
1520
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1521
|
+
}?,
|
|
1522
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1523
|
+
& (attribute stop-color { rfc-color }?,
|
|
1524
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1525
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1526
|
+
| "inherit" }?,
|
|
1527
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1528
|
+
attribute font-style {
|
|
1529
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1530
|
+
}?,
|
|
1531
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1532
|
+
attribute font-weight {
|
|
1533
|
+
"normal"
|
|
1534
|
+
| "bold"
|
|
1535
|
+
| "bolder"
|
|
1536
|
+
| "lighter"
|
|
1537
|
+
| "inherit"
|
|
1538
|
+
}?,
|
|
1539
|
+
attribute text-anchor {
|
|
1540
|
+
"start" | "middle" | "end" | "inherit"
|
|
1541
|
+
}?,
|
|
1542
|
+
attribute text-align {
|
|
1543
|
+
"start" | "center" | "end" | "inherit"
|
|
1544
|
+
}?)),
|
|
1545
|
+
(attribute id { xsd:NCName }
|
|
1546
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1547
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1548
|
+
attribute xml:lang { xsd:language? }?,
|
|
1549
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1550
|
+
attribute role { xsd:string }?,
|
|
1551
|
+
attribute rel { xsd:string }?,
|
|
1552
|
+
attribute rev { xsd:string }?,
|
|
1553
|
+
attribute typeof { xsd:string }?,
|
|
1554
|
+
attribute content { xsd:string }?,
|
|
1555
|
+
attribute datatype { xsd:string }?,
|
|
1556
|
+
attribute resource { xsd:string }?,
|
|
1557
|
+
attribute about { xsd:string }?,
|
|
1558
|
+
attribute property { xsd:string }?,
|
|
1559
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1560
|
+
attribute x { xsd:string }?, # For SVG-1.2-RFC
|
|
1561
|
+
attribute y { xsd:string }?,
|
|
1562
|
+
(desc
|
|
1563
|
+
| svgTitle
|
|
1564
|
+
| tspan_2
|
|
1565
|
+
| text
|
|
1566
|
+
| a_2)+
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
a_2 =
|
|
1570
|
+
element a {
|
|
1571
|
+
(attribute id { xsd:NCName }
|
|
1572
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1573
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1574
|
+
attribute xml:lang { xsd:language? }?,
|
|
1575
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1576
|
+
attribute role { xsd:string }?,
|
|
1577
|
+
attribute rel { xsd:string }?,
|
|
1578
|
+
attribute rev { xsd:string }?,
|
|
1579
|
+
attribute typeof { xsd:string }?,
|
|
1580
|
+
attribute content { xsd:string }?,
|
|
1581
|
+
attribute datatype { xsd:string }?,
|
|
1582
|
+
attribute resource { xsd:string }?,
|
|
1583
|
+
attribute about { xsd:string }?,
|
|
1584
|
+
attribute property { xsd:string }?,
|
|
1585
|
+
attribute xml:space { "default" | "preserve" }?,
|
|
1586
|
+
((attribute fill-opacity { "inherit" | xsd:string }?,
|
|
1587
|
+
attribute stroke-opacity { "inherit" | xsd:string }?)
|
|
1588
|
+
& (attribute fill { "none" | rfc-color }?,
|
|
1589
|
+
attribute fill-rule { "inherit" | "nonzero" | "evenodd" }?,
|
|
1590
|
+
attribute stroke { rfc-color }?,
|
|
1591
|
+
attribute stroke-dasharray { "inherit" | "none" | xsd:string }?,
|
|
1592
|
+
attribute stroke-dashoffset { "inherit" | xsd:string }?,
|
|
1593
|
+
attribute stroke-linecap {
|
|
1594
|
+
"butt" | "round" | "square" | "inherit"
|
|
1595
|
+
}?,
|
|
1596
|
+
attribute stroke-linejoin {
|
|
1597
|
+
"miter" | "round" | "bevel" | "inherit"
|
|
1598
|
+
}?,
|
|
1599
|
+
attribute stroke-miterlimit { "inherit" | xsd:string }?,
|
|
1600
|
+
attribute stroke-width { "inherit" | xsd:string }?,
|
|
1601
|
+
attribute color { rfc-color }?,
|
|
1602
|
+
attribute color-rendering {
|
|
1603
|
+
"auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
|
|
1604
|
+
}?)
|
|
1605
|
+
& attribute vector-effect {
|
|
1606
|
+
"none" | "non-scaling-stroke" | "inherit"
|
|
1607
|
+
}?
|
|
1608
|
+
& (attribute direction { "ltr" | "rtl" | "inherit" }?,
|
|
1609
|
+
attribute unicode-bidi {
|
|
1610
|
+
"normal" | "embed" | "bidi-override" | "inherit"
|
|
1611
|
+
}?)
|
|
1612
|
+
& (attribute solid-color { rfc-color }?,
|
|
1613
|
+
attribute solid-opacity { "inherit" | xsd:string }?)
|
|
1614
|
+
& (attribute display-align {
|
|
1615
|
+
"auto" | "before" | "center" | "after" | "inherit"
|
|
1616
|
+
}?,
|
|
1617
|
+
attribute line-increment { "auto" | "inherit" | xsd:string }?)
|
|
1618
|
+
& (attribute stop-color { rfc-color }?,
|
|
1619
|
+
attribute stop-opacity { "inherit" | xsd:string }?)
|
|
1620
|
+
& (attribute font-family { "serif" | "sans-serif" | "monospace"
|
|
1621
|
+
| "inherit" }?,
|
|
1622
|
+
attribute font-size { "inherit" | xsd:string }?,
|
|
1623
|
+
attribute font-style {
|
|
1624
|
+
"normal" | "italic" | "oblique" | "inherit"
|
|
1625
|
+
}?,
|
|
1626
|
+
attribute font-variant { "normal" | "small-caps" | "inherit" }?,
|
|
1627
|
+
attribute font-weight {
|
|
1628
|
+
"normal"
|
|
1629
|
+
| "bold"
|
|
1630
|
+
| "bolder"
|
|
1631
|
+
| "lighter"
|
|
1632
|
+
| "inherit"
|
|
1633
|
+
}?,
|
|
1634
|
+
attribute text-anchor {
|
|
1635
|
+
"start" | "middle" | "end" | "inherit"
|
|
1636
|
+
}?,
|
|
1637
|
+
attribute text-align {
|
|
1638
|
+
"start" | "center" | "end" | "inherit"
|
|
1639
|
+
}?)),
|
|
1640
|
+
attribute transform { xsd:string | "none" }?,
|
|
1641
|
+
attribute xlink:show { "new" | "replace" }?,
|
|
1642
|
+
attribute xlink:actuate { "onRequest" }?,
|
|
1643
|
+
attribute xlink:type { "simple" }?,
|
|
1644
|
+
attribute xlink:role { xsd:anyURI | xsd:string }?,
|
|
1645
|
+
attribute xlink:arcrole { xsd:anyURI | xsd:string }?,
|
|
1646
|
+
attribute xlink:title { text }?,
|
|
1647
|
+
attribute xlink:href { xsd:anyURI | xsd:string }?,
|
|
1648
|
+
attribute target {
|
|
1649
|
+
"_replace" | "_self" | "_parent" | "_top" | "_blank" | xsd:Name
|
|
1650
|
+
}?,
|
|
1651
|
+
(desc
|
|
1652
|
+
| svgTitle
|
|
1653
|
+
| tspan_2
|
|
1654
|
+
| text)+
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
tbreak =
|
|
1658
|
+
element tbreak {
|
|
1659
|
+
(attribute id { xsd:NCName }
|
|
1660
|
+
| attribute xml:id { xsd:NCName })?,
|
|
1661
|
+
attribute xml:base { xsd:anyURI | xsd:string }?,
|
|
1662
|
+
attribute xml:lang { xsd:language? }?,
|
|
1663
|
+
attribute class { xsd:NMTOKENS }?,
|
|
1664
|
+
attribute role { xsd:string }?,
|
|
1665
|
+
attribute rel { xsd:string }?,
|
|
1666
|
+
attribute rev { xsd:string }?,
|
|
1667
|
+
attribute typeof { xsd:string }?,
|
|
1668
|
+
attribute content { xsd:string }?,
|
|
1669
|
+
attribute datatype { xsd:string }?,
|
|
1670
|
+
attribute resource { xsd:string }?,
|
|
1671
|
+
attribute about { xsd:string }?,
|
|
1672
|
+
attribute property { xsd:string }?,
|
|
1673
|
+
attribute xml:space { "default" | "preserve" }?
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
#--- End of SVG 1.2 RFC rnc schema
|