From 018e1ba581ec6f01f069a45ec4cf89f152b44d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 19 Mar 2025 15:41:36 +0100 Subject: remerge --- libxsd-frontend/tests/schema/annotation/makefile | 34 +++++ .../tests/schema/annotation/test-000.std | 67 ++++++++++ .../tests/schema/annotation/test-000.xsd | 120 ++++++++++++++++++ .../tests/schema/annotation/test-001.std | 36 ++++++ .../tests/schema/annotation/test-001.xsd | 53 ++++++++ libxsd-frontend/tests/schema/anonymous/makefile | 34 +++++ .../tests/schema/anonymous/test-000.std | 30 +++++ .../tests/schema/anonymous/test-000.xsd | 42 +++++++ .../tests/schema/anonymous/test-001.std | 38 ++++++ .../tests/schema/anonymous/test-001.xsd | 47 +++++++ .../tests/schema/attribute-group/makefile | 34 +++++ .../tests/schema/attribute-group/test-000.std | 17 +++ .../tests/schema/attribute-group/test-000.xsd | 31 +++++ .../tests/schema/attribute-group/test-001.std | 12 ++ .../tests/schema/attribute-group/test-001.xsd | 20 +++ libxsd-frontend/tests/schema/default/makefile | 34 +++++ libxsd-frontend/tests/schema/default/test-000.std | 28 +++++ libxsd-frontend/tests/schema/default/test-000.xsd | 23 ++++ libxsd-frontend/tests/schema/default/test-001.std | 15 +++ libxsd-frontend/tests/schema/default/test-001.xsd | 11 ++ .../tests/schema/element-group/makefile | 34 +++++ .../tests/schema/element-group/test-000.std | 33 +++++ .../tests/schema/element-group/test-000.xsd | 39 ++++++ .../tests/schema/element-group/test-001.std | 137 +++++++++++++++++++++ .../tests/schema/element-group/test-001.xsd | 33 +++++ .../tests/schema/element-group/test-002.std | 24 ++++ .../tests/schema/element-group/test-002.xsd | 26 ++++ libxsd-frontend/tests/schema/enumeration/makefile | 34 +++++ .../tests/schema/enumeration/test-000.std | 62 ++++++++++ .../tests/schema/enumeration/test-000.xsd | 72 +++++++++++ libxsd-frontend/tests/schema/makefile | 24 ++++ libxsd-frontend/tests/schema/union/makefile | 34 +++++ libxsd-frontend/tests/schema/union/test-000.std | 37 ++++++ libxsd-frontend/tests/schema/union/test-000.xsd | 40 ++++++ libxsd-frontend/tests/schema/union/test-001.std | 15 +++ libxsd-frontend/tests/schema/union/test-001.xsd | 21 ++++ 36 files changed, 1391 insertions(+) create mode 100644 libxsd-frontend/tests/schema/annotation/makefile create mode 100644 libxsd-frontend/tests/schema/annotation/test-000.std create mode 100644 libxsd-frontend/tests/schema/annotation/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/annotation/test-001.std create mode 100644 libxsd-frontend/tests/schema/annotation/test-001.xsd create mode 100644 libxsd-frontend/tests/schema/anonymous/makefile create mode 100644 libxsd-frontend/tests/schema/anonymous/test-000.std create mode 100644 libxsd-frontend/tests/schema/anonymous/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/anonymous/test-001.std create mode 100644 libxsd-frontend/tests/schema/anonymous/test-001.xsd create mode 100644 libxsd-frontend/tests/schema/attribute-group/makefile create mode 100644 libxsd-frontend/tests/schema/attribute-group/test-000.std create mode 100644 libxsd-frontend/tests/schema/attribute-group/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/attribute-group/test-001.std create mode 100644 libxsd-frontend/tests/schema/attribute-group/test-001.xsd create mode 100644 libxsd-frontend/tests/schema/default/makefile create mode 100644 libxsd-frontend/tests/schema/default/test-000.std create mode 100644 libxsd-frontend/tests/schema/default/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/default/test-001.std create mode 100644 libxsd-frontend/tests/schema/default/test-001.xsd create mode 100644 libxsd-frontend/tests/schema/element-group/makefile create mode 100644 libxsd-frontend/tests/schema/element-group/test-000.std create mode 100644 libxsd-frontend/tests/schema/element-group/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/element-group/test-001.std create mode 100644 libxsd-frontend/tests/schema/element-group/test-001.xsd create mode 100644 libxsd-frontend/tests/schema/element-group/test-002.std create mode 100644 libxsd-frontend/tests/schema/element-group/test-002.xsd create mode 100644 libxsd-frontend/tests/schema/enumeration/makefile create mode 100644 libxsd-frontend/tests/schema/enumeration/test-000.std create mode 100644 libxsd-frontend/tests/schema/enumeration/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/makefile create mode 100644 libxsd-frontend/tests/schema/union/makefile create mode 100644 libxsd-frontend/tests/schema/union/test-000.std create mode 100644 libxsd-frontend/tests/schema/union/test-000.xsd create mode 100644 libxsd-frontend/tests/schema/union/test-001.std create mode 100644 libxsd-frontend/tests/schema/union/test-001.xsd (limited to 'libxsd-frontend/tests/schema') diff --git a/libxsd-frontend/tests/schema/annotation/makefile b/libxsd-frontend/tests/schema/annotation/makefile new file mode 100644 index 0000000..7705ba8 --- /dev/null +++ b/libxsd-frontend/tests/schema/annotation/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/annotation/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/annotation/test-000.std b/libxsd-frontend/tests/schema/annotation/test-000.std new file mode 100644 index 0000000..15f3e89 --- /dev/null +++ b/libxsd-frontend/tests/schema/annotation/test-000.std @@ -0,0 +1,67 @@ + +primary +{ + namespace test + { + + list list http://www.w3.org/2001/XMLSchema#string + + union union http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string + + enumeration enum: http://www.w3.org/2001/XMLSchema#string + { + + enumerator male + + enumerator female + } + + complex type + { + + element efoo + + element ebar + + element ebaz + + any 'any #0' + + optional attribute afoo http://www.w3.org/2001/XMLSchema#string + + optional attribute abar + { + + list http://www.w3.org/2001/XMLSchema#string + } + + optional attribute abaz http://www.w3.org/2001/XMLSchema#string + + any-attribute 'any-attribute #0' + [1, 1] sequence + { + [1, 1] element efoo http://www.w3.org/2001/XMLSchema#string + [1, 1] element ebar + { + complex + { + + element efoo + + optional attribute afoo http://www.w3.org/2001/XMLSchema#string + [1, 1] sequence + { + [1, 1] element efoo http://www.w3.org/2001/XMLSchema#string + } + } + } + [1, 1] element ebaz http://www.w3.org/2001/XMLSchema#string + [1, 1] any 'any #0' + } + } + + element ebaz http://www.w3.org/2001/XMLSchema#string + + attribute abaz http://www.w3.org/2001/XMLSchema#string + } +} diff --git a/libxsd-frontend/tests/schema/annotation/test-000.xsd b/libxsd-frontend/tests/schema/annotation/test-000.xsd new file mode 100644 index 0000000..f768b45 --- /dev/null +++ b/libxsd-frontend/tests/schema/annotation/test-000.xsd @@ -0,0 +1,120 @@ + + + + + schema documentation + + + + + list type documentation + + + + + + + union type documentation + + + + + + + enumeration type documentation + + + + + enumerator documentation (male) + + + + + enumerator documentation (female) + + + + + + + + complex type documentation + + + + + local element efoo documentation + + + + + local element ebar documentation + + + + + + nested local element efoo documentation + + + + + + nested local attribute afoo documentation + + + + + + + local element ebaz documentation + + + + + any documentation + + + + + + local attribute afoo documentation + + + + + local attribute abar documentation + + + + list type documentation + + + + + + + local attribute abaz documentation + + + + + anyAttribute documentation + + + + + + + global element documentation + + + + + + global attribute documentation + + + + diff --git a/libxsd-frontend/tests/schema/annotation/test-001.std b/libxsd-frontend/tests/schema/annotation/test-001.std new file mode 100644 index 0000000..9e2c99a --- /dev/null +++ b/libxsd-frontend/tests/schema/annotation/test-001.std @@ -0,0 +1,36 @@ +primary +{ + namespace test + { + complex type + { + + element ebar + + element efoo + + element ebar + + optional attribute abar http://www.w3.org/2001/XMLSchema#string + + optional attribute afoo http://www.w3.org/2001/XMLSchema#string + + optional attribute abaz http://www.w3.org/2001/XMLSchema#string + [1, 1] sequence + { + [1, 1] element ebar http://www.w3.org/2001/XMLSchema#string + [1, 1] choice + { + [1, 1] element efoo http://www.w3.org/2001/XMLSchema#string + [1, 1] element ebar http://www.w3.org/2001/XMLSchema#string + } + } + } + + element ebar http://www.w3.org/2001/XMLSchema#string + + attribute abar http://www.w3.org/2001/XMLSchema#string + + attribute abaz http://www.w3.org/2001/XMLSchema#string + } +} diff --git a/libxsd-frontend/tests/schema/annotation/test-001.xsd b/libxsd-frontend/tests/schema/annotation/test-001.xsd new file mode 100644 index 0000000..286f63a --- /dev/null +++ b/libxsd-frontend/tests/schema/annotation/test-001.xsd @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + group element efoo documentation + + + + + + + + + global element ebar documentation + + + + + + + group attribute afoo documentation + + + + + + + + global attribute abar documentation + + + + + + global attribute abaz documentation + + + + diff --git a/libxsd-frontend/tests/schema/anonymous/makefile b/libxsd-frontend/tests/schema/anonymous/makefile new file mode 100644 index 0000000..5d2cfe2 --- /dev/null +++ b/libxsd-frontend/tests/schema/anonymous/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/annotation/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) --anonymous $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/anonymous/test-000.std b/libxsd-frontend/tests/schema/anonymous/test-000.std new file mode 100644 index 0000000..1f33cb0 --- /dev/null +++ b/libxsd-frontend/tests/schema/anonymous/test-000.std @@ -0,0 +1,30 @@ +anonymous: test anon_item anon +anonymous: test anon_nested_item anon_nested +anonymous: test anon_nested_item_base anon_nested_item +primary +{ + namespace test + { + list named http://www.w3.org/2001/XMLSchema#string + enumeration anon_item: http://www.w3.org/2001/XMLSchema#string + { + enumerator male + enumerator female + } + list anon test#anon_item1 + list anon_nested test#anon_nested_item + enumeration anon_item1: http://www.w3.org/2001/XMLSchema#string + { + enumerator male + enumerator female + } + enumeration anon_nested_item: test#anon_nested_item_base + { + enumerator male + enumerator female + } + complex anon_nested_item_base: http://www.w3.org/2001/XMLSchema#string + { + } + } +} diff --git a/libxsd-frontend/tests/schema/anonymous/test-000.xsd b/libxsd-frontend/tests/schema/anonymous/test-000.xsd new file mode 100644 index 0000000..ece8f4a --- /dev/null +++ b/libxsd-frontend/tests/schema/anonymous/test-000.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/anonymous/test-001.std b/libxsd-frontend/tests/schema/anonymous/test-001.std new file mode 100644 index 0000000..cc3f2d1 --- /dev/null +++ b/libxsd-frontend/tests/schema/anonymous/test-001.std @@ -0,0 +1,38 @@ +anonymous: test anon_base anon +anonymous: test anon_nested_base anon_nested +anonymous: test anon_nested_base_base anon_nested_base +primary +{ + namespace test + { + enumeration named: http://www.w3.org/2001/XMLSchema#string + { + enumerator male + enumerator female + } + enumeration anon_base: http://www.w3.org/2001/XMLSchema#string + { + enumerator male + enumerator female + } + enumeration anon: test#anon_base1 + { + enumerator male + enumerator female + } + enumeration anon_nested: test#anon_nested_base + { + enumerator male + enumerator female + } + complex anon_base1: http://www.w3.org/2001/XMLSchema#string + { + } + complex anon_nested_base: test#anon_nested_base_base + { + } + complex anon_nested_base_base: http://www.w3.org/2001/XMLSchema#string + { + } + } +} diff --git a/libxsd-frontend/tests/schema/anonymous/test-001.xsd b/libxsd-frontend/tests/schema/anonymous/test-001.xsd new file mode 100644 index 0000000..4a8414f --- /dev/null +++ b/libxsd-frontend/tests/schema/anonymous/test-001.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/attribute-group/makefile b/libxsd-frontend/tests/schema/attribute-group/makefile new file mode 100644 index 0000000..00746a3 --- /dev/null +++ b/libxsd-frontend/tests/schema/attribute-group/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/attribute-group/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/attribute-group/test-000.std b/libxsd-frontend/tests/schema/attribute-group/test-000.std new file mode 100644 index 0000000..61ad802 --- /dev/null +++ b/libxsd-frontend/tests/schema/attribute-group/test-000.std @@ -0,0 +1,17 @@ +primary +{ + namespace test + { + complex type + { + optional attribute foo2 http://www.w3.org/2001/XMLSchema#string + required attribute bar2 http://www.w3.org/2001/XMLSchema#string + optional attribute foo3 http://www.w3.org/2001/XMLSchema#string + required attribute bar3 http://www.w3.org/2001/XMLSchema#string + } + attribute foo2 http://www.w3.org/2001/XMLSchema#string + attribute bar2 http://www.w3.org/2001/XMLSchema#string + attribute foo3 http://www.w3.org/2001/XMLSchema#string + attribute bar3 http://www.w3.org/2001/XMLSchema#string + } +} diff --git a/libxsd-frontend/tests/schema/attribute-group/test-000.xsd b/libxsd-frontend/tests/schema/attribute-group/test-000.xsd new file mode 100644 index 0000000..9087a2b --- /dev/null +++ b/libxsd-frontend/tests/schema/attribute-group/test-000.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/attribute-group/test-001.std b/libxsd-frontend/tests/schema/attribute-group/test-001.std new file mode 100644 index 0000000..54a1e96 --- /dev/null +++ b/libxsd-frontend/tests/schema/attribute-group/test-001.std @@ -0,0 +1,12 @@ +primary +{ + namespace test + { + complex type + { + any-attribute 'any-attribute #1' + optional attribute foo http://www.w3.org/2001/XMLSchema#string + any-attribute 'any-attribute #0' + } + } +} diff --git a/libxsd-frontend/tests/schema/attribute-group/test-001.xsd b/libxsd-frontend/tests/schema/attribute-group/test-001.xsd new file mode 100644 index 0000000..dc44a70 --- /dev/null +++ b/libxsd-frontend/tests/schema/attribute-group/test-001.xsd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/default/makefile b/libxsd-frontend/tests/schema/default/makefile new file mode 100644 index 0000000..d2ab540 --- /dev/null +++ b/libxsd-frontend/tests/schema/default/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/default/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) --anonymous $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/default/test-000.std b/libxsd-frontend/tests/schema/default/test-000.std new file mode 100644 index 0000000..efa1140 --- /dev/null +++ b/libxsd-frontend/tests/schema/default/test-000.std @@ -0,0 +1,28 @@ +primary +{ + namespace test + { + complex type + { + element e1=123 + element e2==456 + element e3=unqual + element e4==test#t:foo + element e5=foo#x:bar + optional attribute a1=123 http://www.w3.org/2001/XMLSchema#int + optional attribute a2==456 http://www.w3.org/2001/XMLSchema#int + optional attribute a3=foo#x:bar test#qname + [1, 1] sequence + { + [1, 1] element e1=123 http://www.w3.org/2001/XMLSchema#int + [1, 1] element e2==456 http://www.w3.org/2001/XMLSchema#int + [1, 1] element e3=unqual http://www.w3.org/2001/XMLSchema#QName + [1, 1] element e4==test#t:foo http://www.w3.org/2001/XMLSchema#QName + [1, 1] element e5=foo#x:bar http://www.w3.org/2001/XMLSchema#QName + } + } + complex qname: http://www.w3.org/2001/XMLSchema#QName + { + } + } +} diff --git a/libxsd-frontend/tests/schema/default/test-000.xsd b/libxsd-frontend/tests/schema/default/test-000.xsd new file mode 100644 index 0000000..bfaedc5 --- /dev/null +++ b/libxsd-frontend/tests/schema/default/test-000.xsd @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/default/test-001.std b/libxsd-frontend/tests/schema/default/test-001.std new file mode 100644 index 0000000..1b84a07 --- /dev/null +++ b/libxsd-frontend/tests/schema/default/test-001.std @@ -0,0 +1,15 @@ +primary +{ + namespace test + { + complex type + { + element e=foo#unqual + optional attribute a=foo#unqual http://www.w3.org/2001/XMLSchema#QName + [1, 1] sequence + { + [1, 1] element e=foo#unqual http://www.w3.org/2001/XMLSchema#QName + } + } + } +} diff --git a/libxsd-frontend/tests/schema/default/test-001.xsd b/libxsd-frontend/tests/schema/default/test-001.xsd new file mode 100644 index 0000000..5ee0507 --- /dev/null +++ b/libxsd-frontend/tests/schema/default/test-001.xsd @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/element-group/makefile b/libxsd-frontend/tests/schema/element-group/makefile new file mode 100644 index 0000000..3271b94 --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/element-group/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 002 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/element-group/test-000.std b/libxsd-frontend/tests/schema/element-group/test-000.std new file mode 100644 index 0000000..1652b68 --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-000.std @@ -0,0 +1,33 @@ +primary +{ + namespace test + { + complex type + { + element foo2 + element bar2 + element foo3 + element bar3 + [1, 1] sequence + { + [0, unbounded] choice + { + [0, 1] choice + { + [1, 1] element foo2 http://www.w3.org/2001/XMLSchema#string + [0, 1] element bar2 http://www.w3.org/2001/XMLSchema#string + } + [1, unbounded] choice + { + [1, unbounded] element foo3 http://www.w3.org/2001/XMLSchema#string + [0, unbounded] element bar3 http://www.w3.org/2001/XMLSchema#string + } + } + } + } + element foo2 http://www.w3.org/2001/XMLSchema#string + element bar2 http://www.w3.org/2001/XMLSchema#string + element foo3 http://www.w3.org/2001/XMLSchema#string + element bar3 http://www.w3.org/2001/XMLSchema#string + } +} diff --git a/libxsd-frontend/tests/schema/element-group/test-000.xsd b/libxsd-frontend/tests/schema/element-group/test-000.xsd new file mode 100644 index 0000000..1864b28 --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-000.xsd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/element-group/test-001.std b/libxsd-frontend/tests/schema/element-group/test-001.std new file mode 100644 index 0000000..ae8c1fc --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-001.std @@ -0,0 +1,137 @@ +primary +{ + namespace test + { + complex type + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + } + [1, 1] element bar + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + } + [1, 1] element bar + { + complex + } + } + } + } + } + } + } + } + } + [1, 1] element bar + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + } + [1, 1] element bar + { + complex + } + } + } + } + } + [1, 1] element bar + { + complex + } + } + } + } + } + } + } + } + element bar + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + { + element foo + element bar + [1, 1] sequence + { + [1, 1] choice + { + [1, 1] element foo + { + complex + } + [1, 1] element bar + { + complex + } + } + } + } + } + [1, 1] element bar + { + complex + } + } + } + } + } + } +} diff --git a/libxsd-frontend/tests/schema/element-group/test-001.xsd b/libxsd-frontend/tests/schema/element-group/test-001.xsd new file mode 100644 index 0000000..c6059af --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-001.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/element-group/test-002.std b/libxsd-frontend/tests/schema/element-group/test-002.std new file mode 100644 index 0000000..d2c60fe --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-002.std @@ -0,0 +1,24 @@ +primary +{ + namespace test + { + complex type + { + any 'any #1' + element foo + any 'any #0' + [1, 1] sequence + { + [0, unbounded] sequence + { + [1, 1] any 'any #1' + } + [0, unbounded] sequence + { + [1, 1] element foo http://www.w3.org/2001/XMLSchema#int + [1, 1] any 'any #0' + } + } + } + } +} diff --git a/libxsd-frontend/tests/schema/element-group/test-002.xsd b/libxsd-frontend/tests/schema/element-group/test-002.xsd new file mode 100644 index 0000000..bc1bd70 --- /dev/null +++ b/libxsd-frontend/tests/schema/element-group/test-002.xsd @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/enumeration/makefile b/libxsd-frontend/tests/schema/enumeration/makefile new file mode 100644 index 0000000..bd55e0f --- /dev/null +++ b/libxsd-frontend/tests/schema/enumeration/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/enumeration/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) --enum-synthesis $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/enumeration/test-000.std b/libxsd-frontend/tests/schema/enumeration/test-000.std new file mode 100644 index 0000000..64e3065 --- /dev/null +++ b/libxsd-frontend/tests/schema/enumeration/test-000.std @@ -0,0 +1,62 @@ +primary +{ + namespace test + { + complex common-base: http://www.w3.org/2001/XMLSchema#string + { + } + complex base: test#common-base + { + } + enumeration one: test#base + { + + enumerator romance + enumerator fiction + enumerator horror + } + enumeration two: test#common-base + { + enumerator horror + enumerator history + enumerator philosophy + } + enumeration three: http://www.w3.org/2001/XMLSchema#anyURI + { + enumerator foo + enumerator bar + } + enumeration union0: test#common-base + { + + enumerator romance + enumerator fiction + enumerator horror + enumerator history + enumerator philosophy + } + + enumeration union1: test#common-base + { + + enumerator romance + enumerator fiction + enumerator horror + enumerator history + enumerator philosophy + } + union union2 test#one test#union1 test#common-base + union union3 test#one test#three + complex complex1 + { + element a + [1, 1] sequence + { + [1, 1] element a test#union1 + } + } + complex complex2: test#union1 + { + } + } +} diff --git a/libxsd-frontend/tests/schema/enumeration/test-000.xsd b/libxsd-frontend/tests/schema/enumeration/test-000.xsd new file mode 100644 index 0000000..08539bf --- /dev/null +++ b/libxsd-frontend/tests/schema/enumeration/test-000.xsd @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + romance documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + union1 documentation + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/makefile b/libxsd-frontend/tests/schema/makefile new file mode 100644 index 0000000..3a6d048 --- /dev/null +++ b/libxsd-frontend/tests/schema/makefile @@ -0,0 +1,24 @@ +# file : tests/schema +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make + +tests := \ +annotation \ +anonymous \ +attribute-group \ +default \ +element-group \ +enumeration \ +union + +default := $(out_base)/ +test := $(out_base)/.test +clean := $(out_base)/.clean + +$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests))) +$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests))) +$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests))) + +$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile)) diff --git a/libxsd-frontend/tests/schema/union/makefile b/libxsd-frontend/tests/schema/union/makefile new file mode 100644 index 0000000..b0a83e3 --- /dev/null +++ b/libxsd-frontend/tests/schema/union/makefile @@ -0,0 +1,34 @@ +# file : tests/schema/union/makefile +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make + +tests := 000 001 + +driver := $(out_root)/tests/dump/driver +test := $(out_base)/.test +clean := $(out_base)/.clean + +# Convenience alias for default target. +# +$(out_base)/: $(driver) + +# Test. +# +test_targets := $(addprefix $(out_base)/.test-,$(tests)) + +$(test): $(test_targets) +$(test_targets): driver := $(driver) + +.PHONY: $(out_base)/.test-% +$(out_base)/.test-%: $(driver) $(src_base)/test-%.xsd $(src_base)/test-%.std + $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xsd | diff -u $(src_base)/test-$*.std -) + +# Clean. +# +$(clean): + +# Dependencies. +# +$(call import,$(src_root)/tests/dump/makefile) diff --git a/libxsd-frontend/tests/schema/union/test-000.std b/libxsd-frontend/tests/schema/union/test-000.std new file mode 100644 index 0000000..6f95b0c --- /dev/null +++ b/libxsd-frontend/tests/schema/union/test-000.std @@ -0,0 +1,37 @@ +primary +{ + namespace test + { + union u1 http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string + union u2 + { + enumeration : http://www.w3.org/2001/XMLSchema#token + { + enumerator one + } + } + + { + enumeration : http://www.w3.org/2001/XMLSchema#string + { + enumerator two + } + } + + union u3 http://www.w3.org/2001/XMLSchema#int test#u1 + { + enumeration : http://www.w3.org/2001/XMLSchema#token + { + enumerator one + } + } + + { + enumeration : http://www.w3.org/2001/XMLSchema#string + { + enumerator two + } + } + + } +} diff --git a/libxsd-frontend/tests/schema/union/test-000.xsd b/libxsd-frontend/tests/schema/union/test-000.xsd new file mode 100644 index 0000000..99535de --- /dev/null +++ b/libxsd-frontend/tests/schema/union/test-000.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxsd-frontend/tests/schema/union/test-001.std b/libxsd-frontend/tests/schema/union/test-001.std new file mode 100644 index 0000000..f407b30 --- /dev/null +++ b/libxsd-frontend/tests/schema/union/test-001.std @@ -0,0 +1,15 @@ +primary +{ + namespace test + { + list list + { + union http://www.w3.org/2001/XMLSchema#int test#enum + } + enumeration enum: http://www.w3.org/2001/XMLSchema#string + { + enumerator male + enumerator female + } + } +} diff --git a/libxsd-frontend/tests/schema/union/test-001.xsd b/libxsd-frontend/tests/schema/union/test-001.xsd new file mode 100644 index 0000000..00fd8ce --- /dev/null +++ b/libxsd-frontend/tests/schema/union/test-001.xsd @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3