aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-12-15 22:23:46 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-02-25 13:39:56 +0300
commit949a9f572341b6cd07690f0b78b1b1941d320055 (patch)
treea4b9a32fb5a4cd6a46a17718cc854697df49c920
parent061b59ec50c40e8757c5e9237f45a2c7ade36d62 (diff)
Switch to build2
-rw-r--r--.gitattributes19
-rw-r--r--.gitignore32
-rw-r--r--INSTALL27
-rw-r--r--README2
-rw-r--r--README-GIT5
-rw-r--r--build/.gitignore3
-rw-r--r--build/bootstrap.build10
-rw-r--r--build/bootstrap.make48
-rw-r--r--build/export.build9
-rw-r--r--build/export/libxsd-frontend/stub.make8
-rw-r--r--build/import/libcutl/configuration-rules.make13
-rwxr-xr-xbuild/import/libcutl/configure53
-rw-r--r--build/import/libcutl/stub.make28
-rw-r--r--build/import/libxerces-c/configuration-rules.make13
-rwxr-xr-xbuild/import/libxerces-c/configure71
-rw-r--r--build/import/libxerces-c/rules.make50
-rw-r--r--build/import/libxerces-c/stub.make30
-rw-r--r--build/import/libxerces-c/version1
-rw-r--r--build/import/libxsd-frontend/configuration-rules.make13
-rwxr-xr-xbuild/import/libxsd-frontend/configure53
-rw-r--r--build/import/libxsd-frontend/stub.make28
-rw-r--r--build/root.build17
-rw-r--r--buildfile9
-rw-r--r--libxsd-frontend/buildfile54
-rw-r--r--libxsd-frontend/generators/dependencies.cxx (renamed from xsd-frontend/generators/dependencies.cxx)8
-rw-r--r--libxsd-frontend/generators/dependencies.hxx (renamed from xsd-frontend/generators/dependencies.hxx)14
-rw-r--r--libxsd-frontend/parser.cxx (renamed from xsd-frontend/parser.cxx)42
-rw-r--r--libxsd-frontend/parser.hxx (renamed from xsd-frontend/parser.hxx)22
-rw-r--r--libxsd-frontend/schema-dom-parser.cxx (renamed from xsd-frontend/schema-dom-parser.cxx)4
-rw-r--r--libxsd-frontend/schema-dom-parser.hxx (renamed from xsd-frontend/schema-dom-parser.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph.hxx25
-rw-r--r--libxsd-frontend/semantic-graph/annotation.cxx (renamed from xsd-frontend/semantic-graph/annotation.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/annotation.hxx (renamed from xsd-frontend/semantic-graph/annotation.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/any-attribute.cxx (renamed from xsd-frontend/semantic-graph/any-attribute.cxx)8
-rw-r--r--libxsd-frontend/semantic-graph/any-attribute.hxx (renamed from xsd-frontend/semantic-graph/any-attribute.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/any.cxx (renamed from xsd-frontend/semantic-graph/any.cxx)8
-rw-r--r--libxsd-frontend/semantic-graph/any.hxx (renamed from xsd-frontend/semantic-graph/any.hxx)14
-rw-r--r--libxsd-frontend/semantic-graph/attribute-group.cxx (renamed from xsd-frontend/semantic-graph/attribute-group.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/attribute-group.hxx (renamed from xsd-frontend/semantic-graph/attribute-group.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/attribute.cxx (renamed from xsd-frontend/semantic-graph/attribute.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/attribute.hxx (renamed from xsd-frontend/semantic-graph/attribute.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/complex.cxx (renamed from xsd-frontend/semantic-graph/complex.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/complex.hxx (renamed from xsd-frontend/semantic-graph/complex.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/compositors.cxx (renamed from xsd-frontend/semantic-graph/compositors.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/compositors.hxx (renamed from xsd-frontend/semantic-graph/compositors.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/element-group.cxx (renamed from xsd-frontend/semantic-graph/element-group.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/element-group.hxx (renamed from xsd-frontend/semantic-graph/element-group.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/element.cxx (renamed from xsd-frontend/semantic-graph/element.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/element.hxx (renamed from xsd-frontend/semantic-graph/element.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/elements.cxx (renamed from xsd-frontend/semantic-graph/elements.cxx)8
-rw-r--r--libxsd-frontend/semantic-graph/elements.hxx (renamed from xsd-frontend/semantic-graph/elements.hxx)18
-rw-r--r--libxsd-frontend/semantic-graph/enumeration.cxx (renamed from xsd-frontend/semantic-graph/enumeration.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/enumeration.hxx (renamed from xsd-frontend/semantic-graph/enumeration.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/fundamental.cxx1096
-rw-r--r--libxsd-frontend/semantic-graph/fundamental.hxx468
-rw-r--r--libxsd-frontend/semantic-graph/list.cxx (renamed from xsd-frontend/semantic-graph/list.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/list.hxx (renamed from xsd-frontend/semantic-graph/list.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/namespace.cxx (renamed from xsd-frontend/semantic-graph/namespace.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/namespace.hxx (renamed from xsd-frontend/semantic-graph/namespace.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/particle.cxx (renamed from xsd-frontend/semantic-graph/particle.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/particle.hxx (renamed from xsd-frontend/semantic-graph/particle.hxx)10
-rw-r--r--libxsd-frontend/semantic-graph/schema.cxx (renamed from xsd-frontend/semantic-graph/schema.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/schema.hxx (renamed from xsd-frontend/semantic-graph/schema.hxx)12
-rw-r--r--libxsd-frontend/semantic-graph/union.cxx (renamed from xsd-frontend/semantic-graph/union.cxx)6
-rw-r--r--libxsd-frontend/semantic-graph/union.hxx (renamed from xsd-frontend/semantic-graph/union.hxx)10
-rw-r--r--libxsd-frontend/transformations/anonymous.cxx (renamed from xsd-frontend/transformations/anonymous.cxx)8
-rw-r--r--libxsd-frontend/transformations/anonymous.hxx (renamed from xsd-frontend/transformations/anonymous.hxx)14
-rw-r--r--libxsd-frontend/transformations/enum-synthesis.cxx (renamed from xsd-frontend/transformations/enum-synthesis.cxx)8
-rw-r--r--libxsd-frontend/transformations/enum-synthesis.hxx (renamed from xsd-frontend/transformations/enum-synthesis.hxx)14
-rw-r--r--libxsd-frontend/transformations/restriction.cxx (renamed from xsd-frontend/transformations/restriction.cxx)8
-rw-r--r--libxsd-frontend/transformations/restriction.hxx (renamed from xsd-frontend/transformations/restriction.hxx)14
-rw-r--r--libxsd-frontend/transformations/schema-per-type.cxx (renamed from xsd-frontend/transformations/schema-per-type.cxx)8
-rw-r--r--libxsd-frontend/transformations/schema-per-type.hxx (renamed from xsd-frontend/transformations/schema-per-type.hxx)14
-rw-r--r--libxsd-frontend/transformations/simplifier.cxx (renamed from xsd-frontend/transformations/simplifier.cxx)8
-rw-r--r--libxsd-frontend/transformations/simplifier.hxx (renamed from xsd-frontend/transformations/simplifier.hxx)14
-rw-r--r--libxsd-frontend/traversal.hxx24
-rw-r--r--libxsd-frontend/traversal/any-attribute.hxx20
-rw-r--r--libxsd-frontend/traversal/any.hxx20
-rw-r--r--libxsd-frontend/traversal/attribute-group.cxx (renamed from xsd-frontend/traversal/attribute-group.cxx)4
-rw-r--r--libxsd-frontend/traversal/attribute-group.hxx28
-rw-r--r--libxsd-frontend/traversal/attribute.cxx (renamed from xsd-frontend/traversal/attribute.cxx)4
-rw-r--r--libxsd-frontend/traversal/attribute.hxx (renamed from xsd-frontend/traversal/attribute.hxx)12
-rw-r--r--libxsd-frontend/traversal/complex.cxx (renamed from xsd-frontend/traversal/complex.cxx)4
-rw-r--r--libxsd-frontend/traversal/complex.hxx (renamed from xsd-frontend/traversal/complex.hxx)12
-rw-r--r--libxsd-frontend/traversal/compositors.cxx (renamed from xsd-frontend/traversal/compositors.cxx)4
-rw-r--r--libxsd-frontend/traversal/compositors.hxx (renamed from xsd-frontend/traversal/compositors.hxx)12
-rw-r--r--libxsd-frontend/traversal/element-group.cxx (renamed from xsd-frontend/traversal/element-group.cxx)4
-rw-r--r--libxsd-frontend/traversal/element-group.hxx (renamed from xsd-frontend/traversal/element-group.hxx)12
-rw-r--r--libxsd-frontend/traversal/element.cxx (renamed from xsd-frontend/traversal/element.cxx)4
-rw-r--r--libxsd-frontend/traversal/element.hxx (renamed from xsd-frontend/traversal/element.hxx)12
-rw-r--r--libxsd-frontend/traversal/elements.cxx (renamed from xsd-frontend/traversal/elements.cxx)4
-rw-r--r--libxsd-frontend/traversal/elements.hxx (renamed from xsd-frontend/traversal/elements.hxx)16
-rw-r--r--libxsd-frontend/traversal/elements.txx (renamed from xsd-frontend/traversal/elements.txx)2
-rw-r--r--libxsd-frontend/traversal/enumeration.cxx (renamed from xsd-frontend/traversal/enumeration.cxx)4
-rw-r--r--libxsd-frontend/traversal/enumeration.hxx (renamed from xsd-frontend/traversal/enumeration.hxx)12
-rw-r--r--libxsd-frontend/traversal/fundamental.cxx (renamed from xsd-frontend/traversal/fundamental.cxx)4
-rw-r--r--libxsd-frontend/traversal/fundamental.hxx (renamed from xsd-frontend/traversal/fundamental.hxx)12
-rw-r--r--libxsd-frontend/traversal/list.cxx (renamed from xsd-frontend/traversal/list.cxx)4
-rw-r--r--libxsd-frontend/traversal/list.hxx (renamed from xsd-frontend/traversal/list.hxx)12
-rw-r--r--libxsd-frontend/traversal/namespace.cxx (renamed from xsd-frontend/traversal/namespace.cxx)4
-rw-r--r--libxsd-frontend/traversal/namespace.hxx (renamed from xsd-frontend/traversal/namespace.hxx)12
-rw-r--r--libxsd-frontend/traversal/particle.cxx (renamed from xsd-frontend/traversal/particle.cxx)4
-rw-r--r--libxsd-frontend/traversal/particle.hxx (renamed from xsd-frontend/traversal/particle.hxx)12
-rw-r--r--libxsd-frontend/traversal/schema.cxx (renamed from xsd-frontend/traversal/schema.cxx)4
-rw-r--r--libxsd-frontend/traversal/schema.hxx (renamed from xsd-frontend/traversal/schema.hxx)12
-rw-r--r--libxsd-frontend/traversal/union.cxx (renamed from xsd-frontend/traversal/union.cxx)4
-rw-r--r--libxsd-frontend/traversal/union.hxx (renamed from xsd-frontend/traversal/union.hxx)12
-rw-r--r--libxsd-frontend/types.cxx (renamed from xsd-frontend/types.cxx)4
-rw-r--r--libxsd-frontend/types.hxx (renamed from xsd-frontend/types.hxx)8
-rw-r--r--libxsd-frontend/version.hxx0
-rw-r--r--libxsd-frontend/version.hxx.in51
-rw-r--r--libxsd-frontend/xml.hxx (renamed from xsd-frontend/xml.hxx)16
-rw-r--r--makefile15
-rw-r--r--manifest17
-rw-r--r--repositories.manifest10
-rw-r--r--tests/.gitignore3
-rw-r--r--tests/build/.gitignore3
-rw-r--r--tests/build/bootstrap.build8
-rw-r--r--tests/build/root.build23
-rw-r--r--tests/buildfile4
-rw-r--r--tests/dump/makefile54
-rw-r--r--tests/makefile15
-rw-r--r--tests/schema/annotation.testscript298
-rw-r--r--tests/schema/annotation/makefile33
-rw-r--r--tests/schema/annotation/test-000.std67
-rw-r--r--tests/schema/annotation/test-000.xsd120
-rw-r--r--tests/schema/annotation/test-001.std36
-rw-r--r--tests/schema/annotation/test-001.xsd53
-rw-r--r--tests/schema/anonymous.testscript181
-rw-r--r--tests/schema/anonymous/makefile33
-rw-r--r--tests/schema/anonymous/test-000.std30
-rw-r--r--tests/schema/anonymous/test-000.xsd42
-rw-r--r--tests/schema/anonymous/test-001.std38
-rw-r--r--tests/schema/anonymous/test-001.xsd47
-rw-r--r--tests/schema/attribute-group.testscript102
-rw-r--r--tests/schema/attribute-group/makefile33
-rw-r--r--tests/schema/attribute-group/test-000.std17
-rw-r--r--tests/schema/attribute-group/test-000.xsd31
-rw-r--r--tests/schema/attribute-group/test-001.std12
-rw-r--r--tests/schema/attribute-group/test-001.xsd20
-rw-r--r--tests/schema/buildfile6
-rw-r--r--tests/schema/default.testscript99
-rw-r--r--tests/schema/default/makefile33
-rw-r--r--tests/schema/default/test-000.std28
-rw-r--r--tests/schema/default/test-000.xsd23
-rw-r--r--tests/schema/default/test-001.std15
-rw-r--r--tests/schema/default/test-001.xsd11
-rw-r--r--tests/schema/driver.cxx (renamed from tests/dump/driver.cxx)20
-rw-r--r--tests/schema/element-group.testscript324
-rw-r--r--tests/schema/element-group/makefile33
-rw-r--r--tests/schema/element-group/test-000.std33
-rw-r--r--tests/schema/element-group/test-000.xsd39
-rw-r--r--tests/schema/element-group/test-001.std137
-rw-r--r--tests/schema/element-group/test-001.xsd33
-rw-r--r--tests/schema/element-group/test-002.std24
-rw-r--r--tests/schema/element-group/test-002.xsd26
-rw-r--r--tests/schema/enumeration.testscript148
-rw-r--r--tests/schema/enumeration/makefile33
-rw-r--r--tests/schema/enumeration/test-000.std62
-rw-r--r--tests/schema/enumeration/test-000.xsd72
-rw-r--r--tests/schema/makefile23
-rw-r--r--tests/schema/union.testscript135
-rw-r--r--tests/schema/union/makefile33
-rw-r--r--tests/schema/union/test-000.std37
-rw-r--r--tests/schema/union/test-000.xsd40
-rw-r--r--tests/schema/union/test-001.std15
-rw-r--r--tests/schema/union/test-001.xsd21
-rw-r--r--version1
-rw-r--r--xsd-frontend/makefile116
-rw-r--r--xsd-frontend/semantic-graph.hxx25
-rw-r--r--xsd-frontend/semantic-graph/fundamental.cxx.m4209
-rw-r--r--xsd-frontend/semantic-graph/fundamental.hxx.m4153
-rw-r--r--xsd-frontend/semantic-graph/fundamental.m416
-rw-r--r--xsd-frontend/traversal.hxx24
-rw-r--r--xsd-frontend/traversal/any-attribute.hxx20
-rw-r--r--xsd-frontend/traversal/any.hxx20
-rw-r--r--xsd-frontend/traversal/attribute-group.hxx28
-rw-r--r--xsd-frontend/version.hxx13
178 files changed, 3622 insertions, 2923 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1631641
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,19 @@
+# This is a good default: files that are auto-detected by git to be text are
+# converted to the platform-native line ending (LF on Unix, CRLF on Windows)
+# in the working tree and to LF in the repository.
+#
+* text=auto
+
+# Use `eol=crlf` for files that should have the CRLF line ending both in the
+# working tree (even on Unix) and in the repository.
+#
+#*.bat text eol=crlf
+
+# Use `eol=lf` for files that should have the LF line ending both in the
+# working tree (even on Windows) and in the repository.
+#
+#*.sh text eol=lf
+
+# Use `binary` to make sure certain files are never auto-detected as text.
+#
+#*.png binary
diff --git a/.gitignore b/.gitignore
index 3b9998d..c3de2e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,21 +1,21 @@
+.bdep/
+
# Compiler/linker output.
#
+*.d
+*.t
+*.i
+*.ii
*.o
-*.o.d
+*.obj
*.so
+*.dll
*.a
-*.l
-*.l.cpp-options
-
-# Generated documentation.
-#
-*.pdf
-*.ps
-
-# Generated build system files.
-#
-*-dynamic.make
-
-# Generated .gitignore files.
-#
-.gitignore
+*.lib
+*.exp
+*.pdb
+*.ilk
+*.exe
+*.exe.dlls/
+*.exe.manifest
+*.pc
diff --git a/INSTALL b/INSTALL
index 0d0b70d..4550e12 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,25 +1,6 @@
-Prerequisites
+The easiest way to build this package is with the bpkg package manager:
- build-time:
+$ bpkg build libxsd-frontend
- - g++ >= 3.4.3 http://gcc.gnu.org
- - build >= 0.3.10 http://www.codesynthesis.com/projects/build/
-
- run-time:
-
- - libxerces-c >= 3.0.0 http://xerces.apache.org/xerces-c/
- - libcutl >= 1.8.0 http://www.codesynthesis.com/projects/libcutl/
-
-Building libxsd-frontend
-
- To build in the source directory simply run 'make'. You can also
- build in a separate directory, e.g.,
-
- $ mkdir libxsd-frontend-i686-pc-linux-gnu
- $ cd libxsd-frontend-i686-pc-linux-gnu
- $ make -f ../libxsd-frontend-x.y.z/makefile
-
-
-Installing libxsd-frontend
-
- Not supported in this version.
+But if you don't want to use the package manager, then you can also build it
+manually using the standard build2 build system.
diff --git a/README b/README
index afc6e58..863fd1d 100644
--- a/README
+++ b/README
@@ -7,7 +7,7 @@ See the LICENSE file for distribution conditions.
See the INSTALL file for prerequisites and installation instructions.
-The project page is at http://codesynthesis.com/projects/libxsd-frontend/.
+The project page is at https://codesynthesis.com/projects/libxsd-frontend/.
Send bug reports or any other feedback to the
libxsd-frontend-users@codesynthesis.com mailing list.
diff --git a/README-GIT b/README-GIT
new file mode 100644
index 0000000..d76dde6
--- /dev/null
+++ b/README-GIT
@@ -0,0 +1,5 @@
+The checked out libxsd-frontend/version.hxx will be overwritten during the
+build process but these changes should be ignored. To do this automatically,
+run:
+
+git update-index --assume-unchanged libxsd-frontend/version.hxx
diff --git a/build/.gitignore b/build/.gitignore
new file mode 100644
index 0000000..4a730a3
--- /dev/null
+++ b/build/.gitignore
@@ -0,0 +1,3 @@
+config.build
+root/
+bootstrap/
diff --git a/build/bootstrap.build b/build/bootstrap.build
new file mode 100644
index 0000000..b479df2
--- /dev/null
+++ b/build/bootstrap.build
@@ -0,0 +1,10 @@
+# file : build/bootstrap.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+project = libxsd-frontend
+
+using version
+using config
+using dist
+using test
+using install
diff --git a/build/bootstrap.make b/build/bootstrap.make
deleted file mode 100644
index 16014f0..0000000
--- a/build/bootstrap.make
+++ /dev/null
@@ -1,48 +0,0 @@
-# file : build/bootstrap.make
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-project_name := libxsd-frontend
-
-# First try to include the bundled bootstrap.make if it exist. If that
-# fails, let make search for the external bootstrap.make.
-#
-build := build-0.3
-
--include $(dir $(lastword $(MAKEFILE_LIST)))../../$(build)/bootstrap.make
-
-ifeq ($(patsubst %build/bootstrap.make,,$(lastword $(MAKEFILE_LIST))),)
-include $(build)/bootstrap.make
-endif
-
-# Configuration (optional; only used in the +dep packages).
-#
-$(call -include,$(dcf_root)/configuration-dynamic.make)
-
-# Aliases
-#
-.PHONY: $(out_base)/ \
- $(out_base)/.test \
- $(out_base)/.clean
-
-ifdef %interactive%
-
-.PHONY: test clean
-
-test: $(out_base)/.test
-clean: $(out_base)/.clean
-
-ifneq ($(filter $(.DEFAULT_GOAL),test clean),)
-.DEFAULT_GOAL :=
-endif
-
-endif
-
-# Don't include dependency info for certain targets.
-#
-define include-dep
-$(call -include,$1)
-endef
-
-ifneq ($(filter $(MAKECMDGOALS),clean disfigure),)
-include-dep =
-endif
diff --git a/build/export.build b/build/export.build
new file mode 100644
index 0000000..ff33e4f
--- /dev/null
+++ b/build/export.build
@@ -0,0 +1,9 @@
+# file : build/export.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+$out_root/
+{
+ include libxsd-frontend/
+}
+
+export $out_root/libxsd-frontend/lib{xsd-frontend}
diff --git a/build/export/libxsd-frontend/stub.make b/build/export/libxsd-frontend/stub.make
deleted file mode 100644
index 4ba6ae4..0000000
--- a/build/export/libxsd-frontend/stub.make
+++ /dev/null
@@ -1,8 +0,0 @@
-# file : build/import/libxsd-frontend/stub.make
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-$(call include-once,$(src_root)/xsd-frontend/makefile,$(out_root))
-
-$(call export,\
- l: $(out_root)/xsd-frontend/xsd-frontend.l,\
- cpp-options: $(out_root)/xsd-frontend/xsd-frontend.l.cpp-options)
diff --git a/build/import/libcutl/configuration-rules.make b/build/import/libcutl/configuration-rules.make
deleted file mode 100644
index 4559510..0000000
--- a/build/import/libcutl/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/libcutl/configuration-rules.make
-# license : MIT; see accompanying LICENSE file
-
-$(dcf_root)/import/libcutl/configuration-dynamic.make: | $(dcf_root)/import/libcutl/.
- $(call message,,$(scf_root)/import/libcutl/configure $@)
-
-ifndef %foreign%
-
-$(dcf_root)/.disfigure::
- $(call message,rm $(dcf_root)/import/libcutl/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-endif
diff --git a/build/import/libcutl/configure b/build/import/libcutl/configure
deleted file mode 100755
index 5c182e2..0000000
--- a/build/import/libcutl/configure
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/libcutl/configure
-# license : MIT; see accompanying LICENSE file
-
-
-# $1 - out file
-#
-# bld_root - build root
-# project_name - project name
-#
-
-source $bld_root/dialog.bash
-
-
-$echo
-$echo "Configuring external dependency on 'libcutl' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'libcutl' as opposed to the development build?"
-$echo
-
-installed=`read_y_n y`
-
-path=
-
-if [ "$installed" = "n" ]; then
-
-$echo
-$echo "Please enter the src_root for 'libcutl'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'libcutl'."
-$echo
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo libcutl_installed := $installed >$1
-
-if [ "$installed" = "n" ]; then
-
-echo src_root := $src_root >>$1
-echo scf_root := \$\(src_root\)/build >>$1
-echo out_root := $out_root >>$1
-
-fi
diff --git a/build/import/libcutl/stub.make b/build/import/libcutl/stub.make
deleted file mode 100644
index 11876f2..0000000
--- a/build/import/libcutl/stub.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : build/import/libcutl/stub.make
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/libcutl/configuration-rules.make,$(dcf_root))
-
-libcutl_installed :=
-
-$(call -include,$(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-ifdef libcutl_installed
-
-ifeq ($(libcutl_installed),y)
-
-$(call export,l: -lcutl,cpp-options: )
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/libcutl/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/import/libxerces-c/configuration-rules.make b/build/import/libxerces-c/configuration-rules.make
deleted file mode 100644
index bda0a59..0000000
--- a/build/import/libxerces-c/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/libxerces-c/configuration-rules.make
-# license : GNU GPL v2; see accompanying LICENSE file
-
-$(dcf_root)/import/libxerces-c/configuration-dynamic.make: | $(dcf_root)/import/libxerces-c/.
- $(call message,,$(scf_root)/import/libxerces-c/configure $@)
-
-ifndef %foreign%
-
-disfigure::
- $(call message,rm $(dcf_root)/import/libxerces-c/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/libxerces-c/configuration-dynamic.make)
-
-endif
diff --git a/build/import/libxerces-c/configure b/build/import/libxerces-c/configure
deleted file mode 100755
index 3db09e5..0000000
--- a/build/import/libxerces-c/configure
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/libxerces-c/configure
-# license : GNU GPL v2; see accompanying LICENSE file
-
-
-# $1 - out config file
-#
-# bld_root - build root
-# project_name - project name
-#
-
-source $bld_root/dialog.bash
-
-
-$echo
-$echo "Configuring external dependency on 'libxerces-c' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed version"
-$echo "of 'libxerces-c' as opposed to the development build?"
-$echo
-
-installed=`read_y_n y`
-
-path=
-type=
-
-if [ "$installed" = "n" ]; then
-
- version=
-
- while [ -z "$version" ]; do
-
- $echo
- $echo "Please enter the 'libxerces-c' root directory."
- $echo
-
- root=`read_path --directory --exist`
-
- version=`sed -e 's/^VER=\([^_]*\)_\([^_]*\)_\([^_]*\)[ ]*$/\1.\2.\3/' \
--e t -e d $root/version.incl 2>/dev/null`
-
- if [ $? != 0 -o -z "$version" ]; then
-
- version=
- echo "Unable to read version information from $root/version.incl"
- fi
- done
-
- $echo
- $echo "Please select the library type you would like to use:"
- $echo
- $echo "(1) archive"
- $echo "(2) shared object"
- $echo
-
- type=`read_option "archive shared" "shared"`
-
-fi
-
-echo libxerces_c_installed := $installed >$1
-
-if [ "$installed" = "n" ]; then
-
- echo libxerces_c_root := $root >>$1
- echo libxerces_c_type := $type >>$1
- echo libxerces_c_version := $version >>$1
-
-fi
diff --git a/build/import/libxerces-c/rules.make b/build/import/libxerces-c/rules.make
deleted file mode 100644
index b094d22..0000000
--- a/build/import/libxerces-c/rules.make
+++ /dev/null
@@ -1,50 +0,0 @@
-# file : build/import/libxerces-c/rules.make
-# license : GNU GPL v2; see accompanying LICENSE file
-
-$(dcf_root)/import/libxerces-c/%: root := $(libxerces_c_root)
-
-ifneq ($(filter 3.%,$(libxerces_c_version)),)
-
-# 3.x.y
-#
-ifeq ($(libxerces_c_type),archive)
-
-$(dcf_root)/import/libxerces-c/xerces-c.l: $(libxerces_c_root)/src/.libs/libxerces-c.a
- @echo $< >$@
-else
-
-$(dcf_root)/import/libxerces-c/xerces-c.l: $(libxerces_c_root)/src/.libs/libxerces-c.so
- @echo $< >$@
- @echo rpath:$(root)/src/.libs >>$@
-endif
-
-$(dcf_root)/import/libxerces-c/xerces-c.l.cpp-options:
- @echo include: -I$(root)/src >$@
-else
-
-# 2.x.y
-#
-ifeq ($(libxerces_c_type),archive)
-
-$(dcf_root)/import/libxerces-c/xerces-c.l: $(libxerces_c_root)/lib/libxerces-c.a
- @echo $< >$@
-else
-
-$(dcf_root)/import/libxerces-c/xerces-c.l: $(libxerces_c_root)/lib/libxerces-c.so
- @echo $< >$@
- @echo rpath:$(root)/lib >>$@
-endif
-
-$(dcf_root)/import/libxerces-c/xerces-c.l.cpp-options:
- @echo include: -I$(root)/include >$@
-endif
-
-
-ifndef %foreign%
-
-disfigure::
- $(call message,rm $(dcf_root)/import/libxerces-c/xerces-c.l,\
-rm -f $(dcf_root)/import/libxerces-c/xerces-c.l)
- $(call message,,rm -f $(dcf_root)/import/libxerces-c/xerces-c.l.cpp-options)
-
-endif
diff --git a/build/import/libxerces-c/stub.make b/build/import/libxerces-c/stub.make
deleted file mode 100644
index f5bb440..0000000
--- a/build/import/libxerces-c/stub.make
+++ /dev/null
@@ -1,30 +0,0 @@
-# file : build/import/libxerces-c/stub.make
-# license : GNU GPL v2; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/libxerces-c/configuration-rules.make,$(dcf_root))
-
-libxerces_c_installed :=
-
-$(call -include,$(dcf_root)/import/libxerces-c/configuration-dynamic.make)
-
-ifdef libxerces_c_installed
-
-ifeq ($(libxerces_c_installed),y)
-
-$(call export,l: -lxerces-c,cpp-options: )
-
-else
-
-$(call include-once,$(scf_root)/import/libxerces-c/rules.make,$(dcf_root))
-
-$(call export,\
- l: $(dcf_root)/import/libxerces-c/xerces-c.l,\
- cpp-options: $(dcf_root)/import/libxerces-c/xerces-c.l.cpp-options)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/import/libxerces-c/version b/build/import/libxerces-c/version
deleted file mode 100644
index a918a2a..0000000
--- a/build/import/libxerces-c/version
+++ /dev/null
@@ -1 +0,0 @@
-0.6.0
diff --git a/build/import/libxsd-frontend/configuration-rules.make b/build/import/libxsd-frontend/configuration-rules.make
deleted file mode 100644
index b0b16e5..0000000
--- a/build/import/libxsd-frontend/configuration-rules.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/import/libxsd-frontend/configuration-rules.make
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-$(dcf_root)/import/libxsd-frontend/configuration-dynamic.make: | $(dcf_root)/import/libxsd-frontend/.
- $(call message,,$(scf_root)/import/libxsd-frontend/configure $@)
-
-ifndef %foreign%
-
-disfigure::
- $(call message,rm $(dcf_root)/import/libxsd-frontend/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/libxsd-frontend/configuration-dynamic.make)
-
-endif
diff --git a/build/import/libxsd-frontend/configure b/build/import/libxsd-frontend/configure
deleted file mode 100755
index 1908830..0000000
--- a/build/import/libxsd-frontend/configure
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/libxsd-frontend/configure
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-
-# $1 - out file
-#
-# bld_root - build root
-# project_name - project name
-#
-
-source $bld_root/dialog.bash
-
-
-$echo
-$echo "Configuring external dependency on 'libxsd-frontend' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'libxsd-frontend' as opposed to the development build?"
-$echo
-
-installed=`read_y_n y`
-
-path=
-
-if [ "$installed" = "n" ]; then
-
-$echo
-$echo "Please enter the src_root for 'libxsd-frontend'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'libxsd-frontend'."
-$echo
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo libxsd_frontend_installed := $installed >$1
-
-if [ "$installed" = "n" ]; then
-
-echo src_root := $src_root >>$1
-echo scf_root := \$\(src_root\)/build >>$1
-echo out_root := $out_root >>$1
-
-fi
diff --git a/build/import/libxsd-frontend/stub.make b/build/import/libxsd-frontend/stub.make
deleted file mode 100644
index 9bf00e5..0000000
--- a/build/import/libxsd-frontend/stub.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# file : build/import/libxsd-frontend/stub.make
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/libxsd-frontend/configuration-rules.make,$(dcf_root))
-
-libxsd_frontend_installed :=
-
-$(call -include,$(dcf_root)/import/libxsd-frontend/configuration-dynamic.make)
-
-ifdef libxsd_frontend_installed
-
-ifeq ($(libxsd_frontend_installed),y)
-
-$(call export,l: -lxsd-frontend -lcutl -lxerces-c,cpp_options: )
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/libxsd-frontend/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/root.build b/build/root.build
new file mode 100644
index 0000000..374118a
--- /dev/null
+++ b/build/root.build
@@ -0,0 +1,17 @@
+# file : build/root.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+cxx.std = latest
+
+using cxx
+
+hxx{*}: extension = hxx
+cxx{*}: extension = cxx
+ixx{*}: extension = ixx
+txx{*}: extension = txx
+
+if ($cxx.target.system == 'win32-msvc')
+ cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS
+
+if ($cxx.class == 'msvc')
+ cxx.coptions += /wd4251 /wd4275 /wd4800
diff --git a/buildfile b/buildfile
new file mode 100644
index 0000000..6e70c39
--- /dev/null
+++ b/buildfile
@@ -0,0 +1,9 @@
+# file : buildfile
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+./: {*/ -build/} doc{INSTALL NEWS README} legal{GPLv2 LICENSE} manifest
+
+# Don't install tests or the INSTALL file.
+#
+tests/: install = false
+doc{INSTALL}@./: install = false
diff --git a/libxsd-frontend/buildfile b/libxsd-frontend/buildfile
new file mode 100644
index 0000000..0254a85
--- /dev/null
+++ b/libxsd-frontend/buildfile
@@ -0,0 +1,54 @@
+# file : libxsd-frontend/buildfile
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+import intf_libs = libcutl%lib{cutl}
+import intf_libs += libxerces-c%lib{xerces-c}
+
+lib{xsd-frontend}: {hxx ixx txx cxx}{** -version} {hxx}{version} $intf_libs
+
+# Include the generated version header into the distribution (so that we don't
+# pick up an installed one) and don't remove it when cleaning in src (so that
+# clean results in a state identical to distributed).
+#
+hxx{version}: in{version} $src_root/manifest
+hxx{version}:
+{
+ dist = true
+ clean = ($src_root != $out_root)
+}
+
+# Build options.
+#
+cxx.poptions =+ "-I$out_root" "-I$src_root"
+
+obja{*}: cxx.poptions += -DLIBXSD_FRONTEND_STATIC_BUILD
+objs{*}: cxx.poptions += -DLIBXSD_FRONTEND_SHARED_BUILD
+
+# Export options.
+#
+lib{xsd-frontend}:
+{
+ cxx.export.poptions = "-I$out_root" "-I$src_root"
+ cxx.export.libs = $intf_libs
+}
+
+liba{xsd-frontend}: cxx.export.poptions += -DLIBXSD_FRONTEND_STATIC
+libs{xsd-frontend}: cxx.export.poptions += -DLIBXSD_FRONTEND_SHARED
+
+# For pre-releases use the complete version to make sure they cannot be used
+# in place of another pre-release or the final version. See the version module
+# for details on the version.* variable values.
+#
+if $version.pre_release
+ lib{xsd-frontend}: bin.lib.version = @"-$version.project_id"
+else
+ lib{xsd-frontend}: bin.lib.version = @"-$version.major.$version.minor"
+
+# Install into the libxsd-frontend/ subdirectory of, say, /usr/include/
+# recreating subdirectories.
+#
+{hxx ixx txx}{*}:
+{
+ install = include/libxsd-frontend/
+ install.subdirs = true
+}
diff --git a/xsd-frontend/generators/dependencies.cxx b/libxsd-frontend/generators/dependencies.cxx
index b210b23..286fbb6 100644
--- a/xsd-frontend/generators/dependencies.cxx
+++ b/libxsd-frontend/generators/dependencies.cxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/generators/dependencies.cxx
+// file : libxsd-frontend/generators/dependencies.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
-#include <xsd-frontend/generators/dependencies.hxx>
+#include <libxsd-frontend/generators/dependencies.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/generators/dependencies.hxx b/libxsd-frontend/generators/dependencies.hxx
index 534cb4c..564e713 100644
--- a/xsd-frontend/generators/dependencies.hxx
+++ b/libxsd-frontend/generators/dependencies.hxx
@@ -1,15 +1,15 @@
-// file : xsd-frontend/generators/dependencies.hxx
+// file : libxsd-frontend/generators/dependencies.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
-#define XSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
+#ifndef LIBXSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
+#define LIBXSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
#include <vector>
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -28,4 +28,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
+#endif // LIBXSD_FRONTEND_GENERATORS_DEPENDENCIES_HXX
diff --git a/xsd-frontend/parser.cxx b/libxsd-frontend/parser.cxx
index 58c1f34..cf6ad37 100644
--- a/xsd-frontend/parser.cxx
+++ b/libxsd-frontend/parser.cxx
@@ -1,4 +1,4 @@
-// file : xsd-frontend/parser.cxx
+// file : libxsd-frontend/parser.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <map>
@@ -7,15 +7,15 @@
#include <iostream>
#include <sstream>
-#include <cutl/compiler/type-id.hxx>
+#include <libcutl/compiler/type-id.hxx>
-#include <xsd-frontend/version.hxx> // Check Xerces-C++ version.
-#include <xsd-frontend/xml.hxx>
-#include <xsd-frontend/parser.hxx>
-#include <xsd-frontend/schema-dom-parser.hxx>
+#include <libxsd-frontend/version.hxx> // Check Xerces-C++ version.
+#include <libxsd-frontend/xml.hxx>
+#include <libxsd-frontend/parser.hxx>
+#include <libxsd-frontend/schema-dom-parser.hxx>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
//@@ Do i need this?
//
@@ -1319,13 +1319,13 @@ namespace XSDFrontend
LocationTranslator*,
const WarningSet*);
- auto_ptr<Schema>
+ unique_ptr<Schema>
parse (Path const&);
- auto_ptr<Schema>
+ unique_ptr<Schema>
parse (Paths const&);
- auto_ptr<Schema>
+ unique_ptr<Schema>
xml_schema (Path const&);
private:
@@ -1859,12 +1859,12 @@ namespace XSDFrontend
}
- auto_ptr<Schema> Parser::Impl::
+ unique_ptr<Schema> Parser::Impl::
xml_schema (Path const& tu)
{
valid_ = true;
- auto_ptr<Schema> rs (new Schema (tu, 1, 1));
+ unique_ptr<Schema> rs (new Schema (tu, 1, 1));
fill_xml_schema (*rs, tu);
if (!valid_)
@@ -1872,7 +1872,7 @@ namespace XSDFrontend
return rs;
}
- auto_ptr<Schema> Parser::Impl::
+ unique_ptr<Schema> Parser::Impl::
parse (Path const& tu)
{
valid_ = true;
@@ -1896,7 +1896,7 @@ namespace XSDFrontend
if (trace_)
wcout << "target namespace: " << ns << endl;
- auto_ptr<Schema> rs (new Schema (tu, root.line (), root.column ()));
+ unique_ptr<Schema> rs (new Schema (tu, root.line (), root.column ()));
// Implied schema with fundamental types.
//
@@ -2100,7 +2100,7 @@ namespace XSDFrontend
return rs;
}
- auto_ptr<Schema> Parser::Impl::
+ unique_ptr<Schema> Parser::Impl::
parse (Paths const& paths)
{
valid_ = true;
@@ -2113,7 +2113,7 @@ namespace XSDFrontend
NamespaceMap cache;
cache_ = &cache;
- auto_ptr<Schema> rs (new Schema (Path (), 0, 0));
+ unique_ptr<Schema> rs (new Schema (Path (), 0, 0));
// Implied schema with fundamental types.
//
@@ -5064,7 +5064,7 @@ namespace XSDFrontend
// Now do our own parsing.
//
- std::auto_ptr<XML::SchemaDOMParser> xsd_parser (
+ std::unique_ptr<XML::SchemaDOMParser> xsd_parser (
new (XMLPlatformUtils::fgMemoryManager) XML::SchemaDOMParser ());
xsd_parser->parse (input_source);
@@ -5150,19 +5150,19 @@ namespace XSDFrontend
{
}
- auto_ptr<SemanticGraph::Schema> Parser::
+ unique_ptr<SemanticGraph::Schema> Parser::
parse (SemanticGraph::Path const& path)
{
return impl_->parse (path);
}
- auto_ptr<SemanticGraph::Schema> Parser::
+ unique_ptr<SemanticGraph::Schema> Parser::
parse (SemanticGraph::Paths const& paths)
{
return impl_->parse (paths);
}
- auto_ptr<SemanticGraph::Schema> Parser::
+ unique_ptr<SemanticGraph::Schema> Parser::
xml_schema (SemanticGraph::Path const& path)
{
return impl_->xml_schema (path);
diff --git a/xsd-frontend/parser.hxx b/libxsd-frontend/parser.hxx
index 35a7a53..6e26e16 100644
--- a/xsd-frontend/parser.hxx
+++ b/libxsd-frontend/parser.hxx
@@ -1,14 +1,14 @@
-// file : xsd-frontend/parser.hxx
+// file : libxsd-frontend/parser.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_PARSER_HXX
-#define XSD_FRONTEND_PARSER_HXX
+#ifndef LIBXSD_FRONTEND_PARSER_HXX
+#define LIBXSD_FRONTEND_PARSER_HXX
#include <set>
-#include <memory> // std::auto_ptr
+#include <memory> // std::unique_ptr
-#include <xsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/types.hxx>
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -51,27 +51,27 @@ namespace XSDFrontend
public:
// Parse a schema file. Throws InvalidSchema in case of a failure.
//
- std::auto_ptr<SemanticGraph::Schema>
+ std::unique_ptr<SemanticGraph::Schema>
parse (SemanticGraph::Path const&);
// Parse a number of schema files all into one semantic graph.
// Each schema file is imported from an unnamed root translation
// unit. Throws InvalidSchema in case of a failure.
//
- std::auto_ptr<SemanticGraph::Schema>
+ std::unique_ptr<SemanticGraph::Schema>
parse (SemanticGraph::Paths const&);
// Returns a schema graph that corresponds to the XML Schema
// namespace with built-in type definitions. The path is fake
// and is only used as a lable.
//
- std::auto_ptr<SemanticGraph::Schema>
+ std::unique_ptr<SemanticGraph::Schema>
xml_schema (SemanticGraph::Path const&);
private:
class Impl;
- std::auto_ptr<Impl> impl_;
+ std::unique_ptr<Impl> impl_;
};
}
-#endif // XSD_FRONTEND_PARSER_HXX
+#endif // LIBXSD_FRONTEND_PARSER_HXX
diff --git a/xsd-frontend/schema-dom-parser.cxx b/libxsd-frontend/schema-dom-parser.cxx
index fc99add..05a2261 100644
--- a/xsd-frontend/schema-dom-parser.cxx
+++ b/libxsd-frontend/schema-dom-parser.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/schema-dom-parser.cxx
+// file : libxsd-frontend/schema-dom-parser.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/schema-dom-parser.hxx>
+#include <libxsd-frontend/schema-dom-parser.hxx>
#include <xercesc/dom/DOMDocument.hpp>
#include <xercesc/dom/DOMElement.hpp>
diff --git a/xsd-frontend/schema-dom-parser.hxx b/libxsd-frontend/schema-dom-parser.hxx
index 9e6a349..d494277 100644
--- a/xsd-frontend/schema-dom-parser.hxx
+++ b/libxsd-frontend/schema-dom-parser.hxx
@@ -1,8 +1,8 @@
-// file : xsd-frontend/schema-dom-parser.hxx
+// file : libxsd-frontend/schema-dom-parser.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
-#define XSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
+#ifndef LIBXSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
+#define LIBXSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
#include <xercesc/parsers/XercesDOMParser.hpp>
@@ -11,7 +11,7 @@
#include <xercesc/validators/schema/XSDLocator.hpp>
#include <xercesc/validators/schema/XSDErrorReporter.hpp>
-#include <xsd-frontend/version.hxx> // Check Xerces-C++ version.
+#include <libxsd-frontend/version.hxx> // Check Xerces-C++ version.
namespace XSDFrontend
{
@@ -78,4 +78,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
+#endif // LIBXSD_FRONTEND_SCHEMA_DOM_PARSER_HXX
diff --git a/libxsd-frontend/semantic-graph.hxx b/libxsd-frontend/semantic-graph.hxx
new file mode 100644
index 0000000..b03363a
--- /dev/null
+++ b/libxsd-frontend/semantic-graph.hxx
@@ -0,0 +1,25 @@
+// file : libxsd-frontend/semantic-graph.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_HXX
+
+#include <libxsd-frontend/semantic-graph/annotation.hxx>
+#include <libxsd-frontend/semantic-graph/any.hxx>
+#include <libxsd-frontend/semantic-graph/any-attribute.hxx>
+#include <libxsd-frontend/semantic-graph/attribute.hxx>
+#include <libxsd-frontend/semantic-graph/attribute-group.hxx>
+#include <libxsd-frontend/semantic-graph/complex.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/element.hxx>
+#include <libxsd-frontend/semantic-graph/element-group.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/enumeration.hxx>
+#include <libxsd-frontend/semantic-graph/fundamental.hxx>
+#include <libxsd-frontend/semantic-graph/list.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/union.hxx>
+
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_HXX
diff --git a/xsd-frontend/semantic-graph/annotation.cxx b/libxsd-frontend/semantic-graph/annotation.cxx
index c13be1f..c57e393 100644
--- a/xsd-frontend/semantic-graph/annotation.cxx
+++ b/libxsd-frontend/semantic-graph/annotation.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/annotation.cxx
+// file : libxsd-frontend/semantic-graph/annotation.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/annotation.hxx>
+#include <libxsd-frontend/semantic-graph/annotation.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/annotation.hxx b/libxsd-frontend/semantic-graph/annotation.hxx
index 67b5dba..797a259 100644
--- a/xsd-frontend/semantic-graph/annotation.hxx
+++ b/libxsd-frontend/semantic-graph/annotation.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/annotation.hxx
+// file : libxsd-frontend/semantic-graph/annotation.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -71,4 +71,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANNOTATION_HXX
diff --git a/xsd-frontend/semantic-graph/any-attribute.cxx b/libxsd-frontend/semantic-graph/any-attribute.cxx
index 4753c9d..8428c27 100644
--- a/xsd-frontend/semantic-graph/any-attribute.cxx
+++ b/libxsd-frontend/semantic-graph/any-attribute.cxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/any-attribute.cxx
+// file : libxsd-frontend/semantic-graph/any-attribute.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/any-attribute.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/any-attribute.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/any-attribute.hxx b/libxsd-frontend/semantic-graph/any-attribute.hxx
index f16ef69..3a25200 100644
--- a/xsd-frontend/semantic-graph/any-attribute.hxx
+++ b/libxsd-frontend/semantic-graph/any-attribute.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/semantic-graph/any-attribute.hxx
+// file : libxsd-frontend/semantic-graph/any-attribute.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
#include <vector>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
namespace XSDFrontend
{
@@ -76,4 +76,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_ATTRIBUTE_HXX
diff --git a/xsd-frontend/semantic-graph/any.cxx b/libxsd-frontend/semantic-graph/any.cxx
index 92d02e6..eb5f7d0 100644
--- a/xsd-frontend/semantic-graph/any.cxx
+++ b/libxsd-frontend/semantic-graph/any.cxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/any.cxx
+// file : libxsd-frontend/semantic-graph/any.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/any.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/any.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/any.hxx b/libxsd-frontend/semantic-graph/any.hxx
index 6f7527e..be9dcbf 100644
--- a/xsd-frontend/semantic-graph/any.hxx
+++ b/libxsd-frontend/semantic-graph/any.hxx
@@ -1,14 +1,14 @@
-// file : xsd-frontend/semantic-graph/any.hxx
+// file : libxsd-frontend/semantic-graph/any.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
#include <vector>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
namespace XSDFrontend
{
@@ -81,4 +81,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ANY_HXX
diff --git a/xsd-frontend/semantic-graph/attribute-group.cxx b/libxsd-frontend/semantic-graph/attribute-group.cxx
index f1a1b7a..834dde8 100644
--- a/xsd-frontend/semantic-graph/attribute-group.cxx
+++ b/libxsd-frontend/semantic-graph/attribute-group.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/attribute-group.cxx
+// file : libxsd-frontend/semantic-graph/attribute-group.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/attribute-group.hxx>
+#include <libxsd-frontend/semantic-graph/attribute-group.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/attribute-group.hxx b/libxsd-frontend/semantic-graph/attribute-group.hxx
index ff5a14b..b49d86e 100644
--- a/xsd-frontend/semantic-graph/attribute-group.hxx
+++ b/libxsd-frontend/semantic-graph/attribute-group.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/attribute-group.hxx
+// file : libxsd-frontend/semantic-graph/attribute-group.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -20,4 +20,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_GROUP_HXX
diff --git a/xsd-frontend/semantic-graph/attribute.cxx b/libxsd-frontend/semantic-graph/attribute.cxx
index 2a75688..b743bbd 100644
--- a/xsd-frontend/semantic-graph/attribute.cxx
+++ b/libxsd-frontend/semantic-graph/attribute.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/attribute.cxx
+// file : libxsd-frontend/semantic-graph/attribute.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/attribute.hxx>
+#include <libxsd-frontend/semantic-graph/attribute.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/attribute.hxx b/libxsd-frontend/semantic-graph/attribute.hxx
index 1eb5999..5b0b160 100644
--- a/xsd-frontend/semantic-graph/attribute.hxx
+++ b/libxsd-frontend/semantic-graph/attribute.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/attribute.hxx
+// file : libxsd-frontend/semantic-graph/attribute.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -32,4 +32,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ATTRIBUTE_HXX
diff --git a/xsd-frontend/semantic-graph/complex.cxx b/libxsd-frontend/semantic-graph/complex.cxx
index d1c2f7a..59173ba 100644
--- a/xsd-frontend/semantic-graph/complex.cxx
+++ b/libxsd-frontend/semantic-graph/complex.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/complex.cxx
+// file : libxsd-frontend/semantic-graph/complex.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/complex.hxx>
+#include <libxsd-frontend/semantic-graph/complex.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/complex.hxx b/libxsd-frontend/semantic-graph/complex.hxx
index 13fc1f8..f1cf526 100644
--- a/xsd-frontend/semantic-graph/complex.hxx
+++ b/libxsd-frontend/semantic-graph/complex.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/semantic-graph/complex.hxx
+// file : libxsd-frontend/semantic-graph/complex.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
@@ -90,4 +90,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX
diff --git a/xsd-frontend/semantic-graph/compositors.cxx b/libxsd-frontend/semantic-graph/compositors.cxx
index 2098dc1..28ab125 100644
--- a/xsd-frontend/semantic-graph/compositors.cxx
+++ b/libxsd-frontend/semantic-graph/compositors.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/compositor.cxx
+// file : libxsd-frontend/semantic-graph/compositor.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/compositors.hxx b/libxsd-frontend/semantic-graph/compositors.hxx
index e4db571..4864b70 100644
--- a/xsd-frontend/semantic-graph/compositors.hxx
+++ b/libxsd-frontend/semantic-graph/compositors.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/semantic-graph/compositors.hxx
+// file : libxsd-frontend/semantic-graph/compositors.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
#include <list>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
namespace XSDFrontend
{
@@ -230,4 +230,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_COMPOSITORS_HXX
diff --git a/xsd-frontend/semantic-graph/element-group.cxx b/libxsd-frontend/semantic-graph/element-group.cxx
index 8d657e4..7f71246 100644
--- a/xsd-frontend/semantic-graph/element-group.cxx
+++ b/libxsd-frontend/semantic-graph/element-group.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/element-group.cxx
+// file : libxsd-frontend/semantic-graph/element-group.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/element-group.hxx>
+#include <libxsd-frontend/semantic-graph/element-group.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/element-group.hxx b/libxsd-frontend/semantic-graph/element-group.hxx
index 79b0725..e8c9c65 100644
--- a/xsd-frontend/semantic-graph/element-group.hxx
+++ b/libxsd-frontend/semantic-graph/element-group.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/semantic-graph/element-group.hxx
+// file : libxsd-frontend/semantic-graph/element-group.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
@@ -38,4 +38,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_GROUP_HXX
diff --git a/xsd-frontend/semantic-graph/element.cxx b/libxsd-frontend/semantic-graph/element.cxx
index 882c9e9..c51fac2 100644
--- a/xsd-frontend/semantic-graph/element.cxx
+++ b/libxsd-frontend/semantic-graph/element.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/element.cxx
+// file : libxsd-frontend/semantic-graph/element.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/element.hxx>
+#include <libxsd-frontend/semantic-graph/element.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/element.hxx b/libxsd-frontend/semantic-graph/element.hxx
index 9c9f2b3..ff5a863 100644
--- a/xsd-frontend/semantic-graph/element.hxx
+++ b/libxsd-frontend/semantic-graph/element.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/semantic-graph/element.hxx
+// file : libxsd-frontend/semantic-graph/element.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
namespace XSDFrontend
{
@@ -90,4 +90,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENT_HXX
diff --git a/xsd-frontend/semantic-graph/elements.cxx b/libxsd-frontend/semantic-graph/elements.cxx
index 8a521af..c77a41d 100644
--- a/xsd-frontend/semantic-graph/elements.cxx
+++ b/libxsd-frontend/semantic-graph/elements.cxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/semantic-graph/elements.cxx
+// file : libxsd-frontend/semantic-graph/elements.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <algorithm>
#include <iostream>
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/annotation.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/annotation.hxx>
using namespace std;
diff --git a/xsd-frontend/semantic-graph/elements.hxx b/libxsd-frontend/semantic-graph/elements.hxx
index 96f8f92..a7ff2fa 100644
--- a/xsd-frontend/semantic-graph/elements.hxx
+++ b/libxsd-frontend/semantic-graph/elements.hxx
@@ -1,8 +1,8 @@
-// file : xsd-frontend/semantic-graph/elements.hxx
+// file : libxsd-frontend/semantic-graph/elements.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
#include <set>
#include <map>
@@ -14,12 +14,12 @@
#include <cstdlib> // abort
#include <cassert>
-#include <cutl/container/graph.hxx>
-#include <cutl/container/pointer-iterator.hxx>
-#include <cutl/compiler/context.hxx>
-#include <cutl/fs/path.hxx>
+#include <libcutl/container/graph.hxx>
+#include <libcutl/container/pointer-iterator.hxx>
+#include <libcutl/compiler/context.hxx>
+#include <libcutl/fs/path.hxx>
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
namespace XSDFrontend
{
@@ -1000,4 +1000,4 @@ namespace XSDFrontend
std::wostream&
operator<< (std::wostream& os, XSDFrontend::SemanticGraph::Path const& path);
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ELEMENTS_HXX
diff --git a/xsd-frontend/semantic-graph/enumeration.cxx b/libxsd-frontend/semantic-graph/enumeration.cxx
index 74d7fbf..6fdb03b 100644
--- a/xsd-frontend/semantic-graph/enumeration.cxx
+++ b/libxsd-frontend/semantic-graph/enumeration.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/enumeration.cxx
+// file : libxsd-frontend/semantic-graph/enumeration.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/enumeration.hxx>
+#include <libxsd-frontend/semantic-graph/enumeration.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/enumeration.hxx b/libxsd-frontend/semantic-graph/enumeration.hxx
index 0580dbc..88fb5d8 100644
--- a/xsd-frontend/semantic-graph/enumeration.hxx
+++ b/libxsd-frontend/semantic-graph/enumeration.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/semantic-graph/enumeration.hxx
+// file : libxsd-frontend/semantic-graph/enumeration.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/complex.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/complex.hxx>
namespace XSDFrontend
{
@@ -26,4 +26,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_ENUMERATION_HXX
diff --git a/libxsd-frontend/semantic-graph/fundamental.cxx b/libxsd-frontend/semantic-graph/fundamental.cxx
new file mode 100644
index 0000000..0664272
--- /dev/null
+++ b/libxsd-frontend/semantic-graph/fundamental.cxx
@@ -0,0 +1,1096 @@
+// file : libxsd-frontend/semantic-graph/fundamental.cxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#include <libcutl/compiler/type-info.hxx>
+
+#include <libxsd-frontend/semantic-graph/fundamental.hxx>
+
+namespace XSDFrontend
+{
+ namespace SemanticGraph
+ {
+ namespace Fundamental
+ {
+ using compiler::type_info;
+
+ // Type
+ //
+ namespace
+ {
+ struct TypeInit
+ {
+ TypeInit ()
+ {
+ type_info ti (typeid (Type));
+ ti.add_base (typeid (SemanticGraph::Type));
+ insert (ti);
+ }
+ } any_type_init_;
+ }
+
+ Type::
+ Type ()
+ {
+ }
+
+ // Byte
+ //
+ namespace
+ {
+ struct ByteInit
+ {
+ ByteInit ()
+ {
+ type_info ti (typeid (Byte));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } byte_init_;
+ }
+
+ Byte::
+ Byte (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // UnsignedByte
+ //
+ namespace
+ {
+ struct UnsignedByteInit
+ {
+ UnsignedByteInit ()
+ {
+ type_info ti (typeid (UnsignedByte));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } unsigned_byte_init_;
+ }
+
+ UnsignedByte::
+ UnsignedByte (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Short
+ //
+ namespace
+ {
+ struct ShortInit
+ {
+ ShortInit ()
+ {
+ type_info ti (typeid (Short));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } short_init_;
+ }
+
+ Short::
+ Short (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // UnsignedShort
+ //
+ namespace
+ {
+ struct UnsignedShortInit
+ {
+ UnsignedShortInit ()
+ {
+ type_info ti (typeid (UnsignedShort));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } unsigned_short_init_;
+ }
+
+ UnsignedShort::
+ UnsignedShort (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Int
+ //
+ namespace
+ {
+ struct IntInit
+ {
+ IntInit ()
+ {
+ type_info ti (typeid (Int));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } int_init_;
+ }
+
+ Int::
+ Int (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // UnsignedInt
+ //
+ namespace
+ {
+ struct UnsignedIntInit
+ {
+ UnsignedIntInit ()
+ {
+ type_info ti (typeid (UnsignedInt));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } unsigned_int_init_;
+ }
+
+ UnsignedInt::
+ UnsignedInt (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Long
+ //
+ namespace
+ {
+ struct LongInit
+ {
+ LongInit ()
+ {
+ type_info ti (typeid (Long));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } long_init_;
+ }
+
+ Long::
+ Long (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // UnsignedLong
+ //
+ namespace
+ {
+ struct UnsignedLongInit
+ {
+ UnsignedLongInit ()
+ {
+ type_info ti (typeid (UnsignedLong));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } unsigned_long_init_;
+ }
+
+ UnsignedLong::
+ UnsignedLong (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Integer
+ //
+ namespace
+ {
+ struct IntegerInit
+ {
+ IntegerInit ()
+ {
+ type_info ti (typeid (Integer));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } integer_init_;
+ }
+
+ Integer::
+ Integer (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NonPositiveInteger
+ //
+ namespace
+ {
+ struct NonPositiveIntegerInit
+ {
+ NonPositiveIntegerInit ()
+ {
+ type_info ti (typeid (NonPositiveInteger));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } non_positive_integer_init_;
+ }
+
+ NonPositiveInteger::
+ NonPositiveInteger (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NonNegativeInteger
+ //
+ namespace
+ {
+ struct NonNegativeIntegerInit
+ {
+ NonNegativeIntegerInit ()
+ {
+ type_info ti (typeid (NonNegativeInteger));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } non_negative_integer_init_;
+ }
+
+ NonNegativeInteger::
+ NonNegativeInteger (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // PositiveInteger
+ //
+ namespace
+ {
+ struct PositiveIntegerInit
+ {
+ PositiveIntegerInit ()
+ {
+ type_info ti (typeid (PositiveInteger));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } positive_integer_init_;
+ }
+
+ PositiveInteger::
+ PositiveInteger (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NegativeInteger
+ //
+ namespace
+ {
+ struct NegativeIntegerInit
+ {
+ NegativeIntegerInit ()
+ {
+ type_info ti (typeid (NegativeInteger));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } negative_integer_init_;
+ }
+
+ NegativeInteger::
+ NegativeInteger (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Boolean
+ //
+ namespace
+ {
+ struct BooleanInit
+ {
+ BooleanInit ()
+ {
+ type_info ti (typeid (Boolean));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } boolean_init_;
+ }
+
+ Boolean::
+ Boolean (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Float
+ //
+ namespace
+ {
+ struct FloatInit
+ {
+ FloatInit ()
+ {
+ type_info ti (typeid (Float));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } float_init_;
+ }
+
+ Float::
+ Float (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Double
+ //
+ namespace
+ {
+ struct DoubleInit
+ {
+ DoubleInit ()
+ {
+ type_info ti (typeid (Double));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } double_init_;
+ }
+
+ Double::
+ Double (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Decimal
+ //
+ namespace
+ {
+ struct DecimalInit
+ {
+ DecimalInit ()
+ {
+ type_info ti (typeid (Decimal));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } decimal_init_;
+ }
+
+ Decimal::
+ Decimal (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // String
+ //
+ namespace
+ {
+ struct StringInit
+ {
+ StringInit ()
+ {
+ type_info ti (typeid (String));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } string_init_;
+ }
+
+ String::
+ String (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NormalizedString
+ //
+ namespace
+ {
+ struct NormalizedStringInit
+ {
+ NormalizedStringInit ()
+ {
+ type_info ti (typeid (NormalizedString));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } normalized_string_init_;
+ }
+
+ NormalizedString::
+ NormalizedString (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Token
+ //
+ namespace
+ {
+ struct TokenInit
+ {
+ TokenInit ()
+ {
+ type_info ti (typeid (Token));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } token_init_;
+ }
+
+ Token::
+ Token (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Name
+ //
+ namespace
+ {
+ struct NameInit
+ {
+ NameInit ()
+ {
+ type_info ti (typeid (Name));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } name_init_;
+ }
+
+ Name::
+ Name (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+
+ // NameToken
+ //
+ namespace
+ {
+ struct NameTokenInit
+ {
+ NameTokenInit ()
+ {
+ type_info ti (typeid (NameToken));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } name_token_init_;
+ }
+
+ NameToken::
+ NameToken (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NameTokens
+ //
+ namespace
+ {
+ struct NameTokensInit
+ {
+ NameTokensInit ()
+ {
+ type_info ti (typeid (NameTokens));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } name_tokens_init_;
+ }
+
+ NameTokens::
+ NameTokens (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // NCName
+ //
+ namespace
+ {
+ struct NCNameInit
+ {
+ NCNameInit ()
+ {
+ type_info ti (typeid (NCName));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } NC_name_init_;
+ }
+
+ NCName::
+ NCName (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Language
+ //
+ namespace
+ {
+ struct LanguageInit
+ {
+ LanguageInit ()
+ {
+ type_info ti (typeid (Language));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } language_init_;
+ }
+
+ Language::
+ Language (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // QName
+ //
+ namespace
+ {
+ struct QNameInit
+ {
+ QNameInit ()
+ {
+ type_info ti (typeid (QName));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } q_name_init_;
+ }
+
+ QName::
+ QName (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Id
+ //
+ namespace
+ {
+ struct IdInit
+ {
+ IdInit ()
+ {
+ type_info ti (typeid (Id));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } id_init_;
+ }
+
+ Id::
+ Id (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // IdRef
+ //
+ namespace
+ {
+ struct IdRefInit
+ {
+ IdRefInit ()
+ {
+ type_info ti (typeid (IdRef));
+ ti.add_base (typeid (Type));
+ ti.add_base (typeid (Specialization));
+ insert (ti);
+ }
+
+ } id_ref_init_;
+ }
+
+ IdRef::
+ IdRef (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // IdRefs
+ //
+ namespace
+ {
+ struct IdRefsInit
+ {
+ IdRefsInit ()
+ {
+ type_info ti (typeid (IdRefs));
+ ti.add_base (typeid (Type));
+ ti.add_base (typeid (Specialization));
+ insert (ti);
+ }
+
+ } id_refs_init_;
+ }
+
+ IdRefs::
+ IdRefs (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // AnyURI
+ //
+ namespace
+ {
+ struct AnyURIInit
+ {
+ AnyURIInit ()
+ {
+ type_info ti (typeid (AnyURI));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } any_URI_init_;
+ }
+
+ AnyURI::
+ AnyURI (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Base64Binary
+ //
+ namespace
+ {
+ struct Base64BinaryInit
+ {
+ Base64BinaryInit ()
+ {
+ type_info ti (typeid (Base64Binary));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } base_64_binary_init_;
+ }
+
+ Base64Binary::
+ Base64Binary (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // HexBinary
+ //
+ namespace
+ {
+ struct HexBinaryInit
+ {
+ HexBinaryInit ()
+ {
+ type_info ti (typeid (HexBinary));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } hex_binary_init_;
+ }
+
+ HexBinary::
+ HexBinary (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Date
+ //
+ namespace
+ {
+ struct DateInit
+ {
+ DateInit ()
+ {
+ type_info ti (typeid (Date));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } date_init_;
+ }
+
+ Date::
+ Date (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // DateTime
+ //
+ namespace
+ {
+ struct DateTimeInit
+ {
+ DateTimeInit ()
+ {
+ type_info ti (typeid (DateTime));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } date_time_init_;
+ }
+
+ DateTime::
+ DateTime (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Duration
+ //
+ namespace
+ {
+ struct DurationInit
+ {
+ DurationInit ()
+ {
+ type_info ti (typeid (Duration));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } duration_init_;
+ }
+
+ Duration::
+ Duration (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Day
+ //
+ namespace
+ {
+ struct DayInit
+ {
+ DayInit ()
+ {
+ type_info ti (typeid (Day));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } day_init_;
+ }
+
+ Day::
+ Day (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Month
+ //
+ namespace
+ {
+ struct MonthInit
+ {
+ MonthInit ()
+ {
+ type_info ti (typeid (Month));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } month_init_;
+ }
+
+ Month::
+ Month (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // MonthDay
+ //
+ namespace
+ {
+ struct MonthDayInit
+ {
+ MonthDayInit ()
+ {
+ type_info ti (typeid (MonthDay));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } month_day_init_;
+ }
+
+ MonthDay::
+ MonthDay (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Year
+ //
+ namespace
+ {
+ struct YearInit
+ {
+ YearInit ()
+ {
+ type_info ti (typeid (Year));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } year_init_;
+ }
+
+ Year::
+ Year (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // YearMonth
+ //
+ namespace
+ {
+ struct YearMonthInit
+ {
+ YearMonthInit ()
+ {
+ type_info ti (typeid (YearMonth));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } year_month_init_;
+ }
+
+ YearMonth::
+ YearMonth (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Time
+ //
+ namespace
+ {
+ struct TimeInit
+ {
+ TimeInit ()
+ {
+ type_info ti (typeid (Time));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } time_init_;
+ }
+
+ Time::
+ Time (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Entity
+ //
+ namespace
+ {
+ struct EntityInit
+ {
+ EntityInit ()
+ {
+ type_info ti (typeid (Entity));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } entity_init_;
+ }
+
+ Entity::
+ Entity (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Entities
+ //
+ namespace
+ {
+ struct EntitiesInit
+ {
+ EntitiesInit ()
+ {
+ type_info ti (typeid (Entities));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } entities_init_;
+ }
+
+ Entities::
+ Entities (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+
+ // Notation
+ //
+ namespace
+ {
+ struct NotationInit
+ {
+ NotationInit ()
+ {
+ type_info ti (typeid (Notation));
+ ti.add_base (typeid (Type));
+ insert (ti);
+ }
+
+ } notation_init_;
+ }
+
+ Notation::
+ Notation (Path const& file,
+ unsigned long line,
+ unsigned long column)
+ : Node (file, line, column)
+ {
+ }
+ }
+ }
+}
diff --git a/libxsd-frontend/semantic-graph/fundamental.hxx b/libxsd-frontend/semantic-graph/fundamental.hxx
new file mode 100644
index 0000000..e45557d
--- /dev/null
+++ b/libxsd-frontend/semantic-graph/fundamental.hxx
@@ -0,0 +1,468 @@
+// file : libxsd-frontend/semantic-graph/fundamental.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
+
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+
+namespace XSDFrontend
+{
+ namespace SemanticGraph
+ {
+ namespace Fundamental
+ {
+ // Type
+ //
+ class Type: public virtual SemanticGraph::Type
+ {
+ protected:
+ Type ();
+ };
+
+ // Byte
+ //
+ class Byte: public virtual Type
+ {
+ public:
+ Byte (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // UnsignedByte
+ //
+ class UnsignedByte: public virtual Type
+ {
+ public:
+ UnsignedByte (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Short
+ //
+ class Short: public virtual Type
+ {
+ public:
+ Short (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // UnsignedShort
+ //
+ class UnsignedShort: public virtual Type
+ {
+ public:
+ UnsignedShort (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Int
+ //
+ class Int: public virtual Type
+ {
+ public:
+ Int (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // UnsignedInt
+ //
+ class UnsignedInt: public virtual Type
+ {
+ public:
+ UnsignedInt (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Long
+ //
+ class Long: public virtual Type
+ {
+ public:
+ Long (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // UnsignedLong
+ //
+ class UnsignedLong: public virtual Type
+ {
+ public:
+ UnsignedLong (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Integer
+ //
+ class Integer: public virtual Type
+ {
+ public:
+ Integer (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NonPositiveInteger
+ //
+ class NonPositiveInteger: public virtual Type
+ {
+ public:
+ NonPositiveInteger (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NonNegativeInteger
+ //
+ class NonNegativeInteger: public virtual Type
+ {
+ public:
+ NonNegativeInteger (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // PositiveInteger
+ //
+ class PositiveInteger: public virtual Type
+ {
+ public:
+ PositiveInteger (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NegativeInteger
+ //
+ class NegativeInteger: public virtual Type
+ {
+ public:
+ NegativeInteger (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Boolean
+ //
+ class Boolean: public virtual Type
+ {
+ public:
+ Boolean (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Float
+ //
+ class Float: public virtual Type
+ {
+ public:
+ Float (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Double
+ //
+ class Double: public virtual Type
+ {
+ public:
+ Double (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Decimal
+ //
+ class Decimal: public virtual Type
+ {
+ public:
+ Decimal (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // String
+ //
+ class String: public virtual Type
+ {
+ public:
+ String (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NormalizedString
+ //
+ class NormalizedString: public virtual Type
+ {
+ public:
+ NormalizedString (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Token
+ //
+ class Token: public virtual Type
+ {
+ public:
+ Token (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Name
+ //
+ class Name: public virtual Type
+ {
+ public:
+ Name (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NameToken
+ //
+ class NameToken: public virtual Type
+ {
+ public:
+ NameToken (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NameTokens
+ //
+ class NameTokens: public virtual Type
+ {
+ public:
+ NameTokens (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // NCName
+ //
+ class NCName: public virtual Type
+ {
+ public:
+ NCName (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Language
+ //
+ class Language: public virtual Type
+ {
+ public:
+ Language (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // QName
+ //
+ class QName: public virtual Type
+ {
+ public:
+ QName (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Id
+ //
+ class Id: public virtual Type
+ {
+ public:
+ Id (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // IdRef
+ //
+ class IdRef: public virtual Type,
+ public virtual Specialization
+ {
+ public:
+ IdRef (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // IdRefs
+ //
+ class IdRefs: public virtual Type,
+ public virtual Specialization
+ {
+ public:
+ IdRefs (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // AnyURI
+ //
+ class AnyURI: public virtual Type
+ {
+ public:
+ AnyURI (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Base64Binary
+ //
+ class Base64Binary: public virtual Type
+ {
+ public:
+ Base64Binary (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // HexBinary
+ //
+ class HexBinary: public virtual Type
+ {
+ public:
+ HexBinary (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Date
+ //
+ class Date: public virtual Type
+ {
+ public:
+ Date (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // DateTime
+ //
+ class DateTime: public virtual Type
+ {
+ public:
+ DateTime (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Duration
+ //
+ class Duration: public virtual Type
+ {
+ public:
+ Duration (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Day
+ //
+ class Day: public virtual Type
+ {
+ public:
+ Day (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Month
+ //
+ class Month: public virtual Type
+ {
+ public:
+ Month (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // MonthDay
+ //
+ class MonthDay: public virtual Type
+ {
+ public:
+ MonthDay (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Year
+ //
+ class Year: public virtual Type
+ {
+ public:
+ Year (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // YearMonth
+ //
+ class YearMonth: public virtual Type
+ {
+ public:
+ YearMonth (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Time
+ //
+ class Time: public virtual Type
+ {
+ public:
+ Time (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Entity
+ //
+ class Entity: public virtual Type
+ {
+ public:
+ Entity (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Entities
+ //
+ class Entities: public virtual Type
+ {
+ public:
+ Entities (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+
+ // Notation
+ //
+ class Notation: public virtual Type
+ {
+ public:
+ Notation (Path const& file,
+ unsigned long line,
+ unsigned long column);
+ };
+ }
+ }
+}
+
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
diff --git a/xsd-frontend/semantic-graph/list.cxx b/libxsd-frontend/semantic-graph/list.cxx
index b1f6f30..7c3fd21 100644
--- a/xsd-frontend/semantic-graph/list.cxx
+++ b/libxsd-frontend/semantic-graph/list.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/list.cxx
+// file : libxsd-frontend/semantic-graph/list.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/list.hxx>
+#include <libxsd-frontend/semantic-graph/list.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/list.hxx b/libxsd-frontend/semantic-graph/list.hxx
index ae9a65d..efd6c67 100644
--- a/xsd-frontend/semantic-graph/list.hxx
+++ b/libxsd-frontend/semantic-graph/list.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/list.hxx
+// file : libxsd-frontend/semantic-graph/list.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -18,4 +18,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_LIST_HXX
diff --git a/xsd-frontend/semantic-graph/namespace.cxx b/libxsd-frontend/semantic-graph/namespace.cxx
index ec3c29e..d0892f2 100644
--- a/xsd-frontend/semantic-graph/namespace.cxx
+++ b/libxsd-frontend/semantic-graph/namespace.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/namespace.cxx
+// file : libxsd-frontend/semantic-graph/namespace.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/namespace.hxx b/libxsd-frontend/semantic-graph/namespace.hxx
index 8155ffd..1ae0a6f 100644
--- a/xsd-frontend/semantic-graph/namespace.hxx
+++ b/libxsd-frontend/semantic-graph/namespace.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/namespace.hxx
+// file : libxsd-frontend/semantic-graph/namespace.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -23,4 +23,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_NAMESPACE_HXX
diff --git a/xsd-frontend/semantic-graph/particle.cxx b/libxsd-frontend/semantic-graph/particle.cxx
index c303b8f..484d28b 100644
--- a/xsd-frontend/semantic-graph/particle.cxx
+++ b/libxsd-frontend/semantic-graph/particle.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/particle.cxx
+// file : libxsd-frontend/semantic-graph/particle.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/particle.hxx b/libxsd-frontend/semantic-graph/particle.hxx
index 2f208f4..e438863 100644
--- a/xsd-frontend/semantic-graph/particle.hxx
+++ b/libxsd-frontend/semantic-graph/particle.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/particle.hxx
+// file : libxsd-frontend/semantic-graph/particle.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -136,4 +136,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_PARTICLE_HXX
diff --git a/xsd-frontend/semantic-graph/schema.cxx b/libxsd-frontend/semantic-graph/schema.cxx
index 190b12b..3df900b 100644
--- a/xsd-frontend/semantic-graph/schema.cxx
+++ b/libxsd-frontend/semantic-graph/schema.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/schema.cxx
+// file : libxsd-frontend/semantic-graph/schema.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/schema.hxx b/libxsd-frontend/semantic-graph/schema.hxx
index 4c2907f..abcd5ca 100644
--- a/xsd-frontend/semantic-graph/schema.hxx
+++ b/libxsd-frontend/semantic-graph/schema.hxx
@@ -1,14 +1,14 @@
-// file : xsd-frontend/semantic-graph/schema.hxx
+// file : libxsd-frontend/semantic-graph/schema.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
#include <set>
#include <vector>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
namespace XSDFrontend
{
@@ -233,4 +233,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_SCHEMA_HXX
diff --git a/xsd-frontend/semantic-graph/union.cxx b/libxsd-frontend/semantic-graph/union.cxx
index 778c73a..eeb59d2 100644
--- a/xsd-frontend/semantic-graph/union.cxx
+++ b/libxsd-frontend/semantic-graph/union.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/semantic-graph/union.cxx
+// file : libxsd-frontend/semantic-graph/union.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <cutl/compiler/type-info.hxx>
+#include <libcutl/compiler/type-info.hxx>
-#include <xsd-frontend/semantic-graph/union.hxx>
+#include <libxsd-frontend/semantic-graph/union.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/semantic-graph/union.hxx b/libxsd-frontend/semantic-graph/union.hxx
index 7a54fb0..bef0144 100644
--- a/xsd-frontend/semantic-graph/union.hxx
+++ b/libxsd-frontend/semantic-graph/union.hxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/semantic-graph/union.hxx
+// file : libxsd-frontend/semantic-graph/union.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
+#ifndef LIBXSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
+#define LIBXSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -18,4 +18,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
+#endif // LIBXSD_FRONTEND_SEMANTIC_GRAPH_UNION_HXX
diff --git a/xsd-frontend/transformations/anonymous.cxx b/libxsd-frontend/transformations/anonymous.cxx
index 7b3e86d..078492d 100644
--- a/xsd-frontend/transformations/anonymous.cxx
+++ b/libxsd-frontend/transformations/anonymous.cxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/transformations/anonymous.cxx
+// file : libxsd-frontend/transformations/anonymous.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/transformations/anonymous.hxx>
+#include <libxsd-frontend/transformations/anonymous.hxx>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
#include <iostream>
#include <sstream>
diff --git a/xsd-frontend/transformations/anonymous.hxx b/libxsd-frontend/transformations/anonymous.hxx
index fcdf880..bf0e42e 100644
--- a/xsd-frontend/transformations/anonymous.hxx
+++ b/libxsd-frontend/transformations/anonymous.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/transformations/anonymous.hxx
+// file : libxsd-frontend/transformations/anonymous.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
-#define XSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
+#ifndef LIBXSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
+#define LIBXSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -53,4 +53,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
+#endif // LIBXSD_FRONTEND_TRANSFORMATIONS_ANONYMOUS_HXX
diff --git a/xsd-frontend/transformations/enum-synthesis.cxx b/libxsd-frontend/transformations/enum-synthesis.cxx
index 41b668b..df249b6 100644
--- a/xsd-frontend/transformations/enum-synthesis.cxx
+++ b/libxsd-frontend/transformations/enum-synthesis.cxx
@@ -1,12 +1,12 @@
-// file : xsd-frontend/transformations/enum-synthesis.cxx
+// file : libxsd-frontend/transformations/enum-synthesis.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <set>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
-#include <xsd-frontend/transformations/enum-synthesis.hxx>
+#include <libxsd-frontend/transformations/enum-synthesis.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/transformations/enum-synthesis.hxx b/libxsd-frontend/transformations/enum-synthesis.hxx
index c224b47..ebd1bae 100644
--- a/xsd-frontend/transformations/enum-synthesis.hxx
+++ b/libxsd-frontend/transformations/enum-synthesis.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/transformations/enum-synthesis.hxx
+// file : libxsd-frontend/transformations/enum-synthesis.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
-#define XSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
+#ifndef LIBXSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
+#define LIBXSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -26,4 +26,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
+#endif // LIBXSD_FRONTEND_TRANSFORMATIONS_ENUM_SYNTHESIS_HXX
diff --git a/xsd-frontend/transformations/restriction.cxx b/libxsd-frontend/transformations/restriction.cxx
index ade1a22..fa3c0c2 100644
--- a/xsd-frontend/transformations/restriction.cxx
+++ b/libxsd-frontend/transformations/restriction.cxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/transformations/restriction.cxx
+// file : libxsd-frontend/transformations/restriction.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <vector>
#include <iostream>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
-#include <xsd-frontend/transformations/restriction.hxx>
+#include <libxsd-frontend/transformations/restriction.hxx>
using namespace std;
diff --git a/xsd-frontend/transformations/restriction.hxx b/libxsd-frontend/transformations/restriction.hxx
index 293904d..f22179e 100644
--- a/xsd-frontend/transformations/restriction.hxx
+++ b/libxsd-frontend/transformations/restriction.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/transformations/restriction.hxx
+// file : libxsd-frontend/transformations/restriction.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
-#define XSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
+#ifndef LIBXSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
+#define LIBXSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -32,4 +32,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
+#endif // LIBXSD_FRONTEND_TRANSFORMATIONS_RESTRICTION_HXX
diff --git a/xsd-frontend/transformations/schema-per-type.cxx b/libxsd-frontend/transformations/schema-per-type.cxx
index d8c8e3c..bd941a1 100644
--- a/xsd-frontend/transformations/schema-per-type.cxx
+++ b/libxsd-frontend/transformations/schema-per-type.cxx
@@ -1,4 +1,4 @@
-// file : xsd-frontend/transformations/schema-per-type.cxx
+// file : libxsd-frontend/transformations/schema-per-type.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <strings.h> // strcasecmp
@@ -10,10 +10,10 @@
#include <sstream>
#include <iostream>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
-#include <xsd-frontend/transformations/schema-per-type.hxx>
+#include <libxsd-frontend/transformations/schema-per-type.hxx>
using std::wcerr;
using std::endl;
diff --git a/xsd-frontend/transformations/schema-per-type.hxx b/libxsd-frontend/transformations/schema-per-type.hxx
index 8fb5ac1..6eb7442 100644
--- a/xsd-frontend/transformations/schema-per-type.hxx
+++ b/libxsd-frontend/transformations/schema-per-type.hxx
@@ -1,15 +1,15 @@
-// file : xsd-frontend/transformations/schema-per-type.hxx
+// file : libxsd-frontend/transformations/schema-per-type.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
-#define XSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
+#ifndef LIBXSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
+#define LIBXSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
#include <vector>
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -58,4 +58,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
+#endif // LIBXSD_FRONTEND_TRANSFORMATIONS_SCHEMA_PER_TYPE_HXX
diff --git a/xsd-frontend/transformations/simplifier.cxx b/libxsd-frontend/transformations/simplifier.cxx
index e9b65c2..a75c60a 100644
--- a/xsd-frontend/transformations/simplifier.cxx
+++ b/libxsd-frontend/transformations/simplifier.cxx
@@ -1,10 +1,10 @@
-// file : xsd-frontend/transformations/simplifier.cxx
+// file : libxsd-frontend/transformations/simplifier.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
-#include <xsd-frontend/transformations/simplifier.hxx>
+#include <libxsd-frontend/transformations/simplifier.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/transformations/simplifier.hxx b/libxsd-frontend/transformations/simplifier.hxx
index d010e6b..fc9f5aa 100644
--- a/xsd-frontend/transformations/simplifier.hxx
+++ b/libxsd-frontend/transformations/simplifier.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/transformations/simplifier.hxx
+// file : libxsd-frontend/transformations/simplifier.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
-#define XSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
+#ifndef LIBXSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
+#define LIBXSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx> // Path
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx> // Path
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -26,4 +26,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
+#endif // LIBXSD_FRONTEND_TRANSFORMATIONS_SIMPLIFIER_HXX
diff --git a/libxsd-frontend/traversal.hxx b/libxsd-frontend/traversal.hxx
new file mode 100644
index 0000000..1412783
--- /dev/null
+++ b/libxsd-frontend/traversal.hxx
@@ -0,0 +1,24 @@
+// file : libxsd-frontend/traversal.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_HXX
+
+#include <libxsd-frontend/traversal/any.hxx>
+#include <libxsd-frontend/traversal/any-attribute.hxx>
+#include <libxsd-frontend/traversal/attribute.hxx>
+#include <libxsd-frontend/traversal/attribute-group.hxx>
+#include <libxsd-frontend/traversal/complex.hxx>
+#include <libxsd-frontend/traversal/compositors.hxx>
+#include <libxsd-frontend/traversal/element.hxx>
+#include <libxsd-frontend/traversal/element-group.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/traversal/enumeration.hxx>
+#include <libxsd-frontend/traversal/fundamental.hxx>
+#include <libxsd-frontend/traversal/list.hxx>
+#include <libxsd-frontend/traversal/namespace.hxx>
+#include <libxsd-frontend/traversal/particle.hxx>
+#include <libxsd-frontend/traversal/schema.hxx>
+#include <libxsd-frontend/traversal/union.hxx>
+
+#endif // LIBXSD_FRONTEND_TRAVERSAL_HXX
diff --git a/libxsd-frontend/traversal/any-attribute.hxx b/libxsd-frontend/traversal/any-attribute.hxx
new file mode 100644
index 0000000..ede2ea0
--- /dev/null
+++ b/libxsd-frontend/traversal/any-attribute.hxx
@@ -0,0 +1,20 @@
+// file : libxsd-frontend/traversal/any-attribute.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
+
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/any-attribute.hxx>
+
+namespace XSDFrontend
+{
+ namespace Traversal
+ {
+ typedef
+ Node<SemanticGraph::AnyAttribute>
+ AnyAttribute;
+ }
+}
+
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
diff --git a/libxsd-frontend/traversal/any.hxx b/libxsd-frontend/traversal/any.hxx
new file mode 100644
index 0000000..ed085bf
--- /dev/null
+++ b/libxsd-frontend/traversal/any.hxx
@@ -0,0 +1,20 @@
+// file : libxsd-frontend/traversal/any.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ANY_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ANY_HXX
+
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/any.hxx>
+
+namespace XSDFrontend
+{
+ namespace Traversal
+ {
+ typedef
+ Node<SemanticGraph::Any>
+ Any;
+ }
+}
+
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ANY_HXX
diff --git a/xsd-frontend/traversal/attribute-group.cxx b/libxsd-frontend/traversal/attribute-group.cxx
index 8d362c2..af0b3f3 100644
--- a/xsd-frontend/traversal/attribute-group.cxx
+++ b/libxsd-frontend/traversal/attribute-group.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/attribute-group.cxx
+// file : libxsd-frontend/traversal/attribute-group.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/attribute-group.hxx>
+#include <libxsd-frontend/traversal/attribute-group.hxx>
namespace XSDFrontend
{
diff --git a/libxsd-frontend/traversal/attribute-group.hxx b/libxsd-frontend/traversal/attribute-group.hxx
new file mode 100644
index 0000000..51c6a00
--- /dev/null
+++ b/libxsd-frontend/traversal/attribute-group.hxx
@@ -0,0 +1,28 @@
+// file : libxsd-frontend/traversal/attribute-group.hxx
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
+
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/attribute-group.hxx>
+
+namespace XSDFrontend
+{
+ namespace Traversal
+ {
+ struct AttributeGroup: ScopeTemplate<SemanticGraph::AttributeGroup>
+ {
+ virtual void
+ traverse (Type&);
+
+ virtual void
+ pre (Type&);
+
+ virtual void
+ post (Type&);
+ };
+ }
+}
+
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
diff --git a/xsd-frontend/traversal/attribute.cxx b/libxsd-frontend/traversal/attribute.cxx
index 238f471..1af6964 100644
--- a/xsd-frontend/traversal/attribute.cxx
+++ b/libxsd-frontend/traversal/attribute.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/attribute.cxx
+// file : libxsd-frontend/traversal/attribute.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/attribute.hxx>
+#include <libxsd-frontend/traversal/attribute.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/attribute.hxx b/libxsd-frontend/traversal/attribute.hxx
index 23a866f..c8fb8e6 100644
--- a/xsd-frontend/traversal/attribute.hxx
+++ b/libxsd-frontend/traversal/attribute.hxx
@@ -1,12 +1,12 @@
-// file : xsd-frontend/traversal/attribute.hxx
+// file : libxsd-frontend/traversal/attribute.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
-#define XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
-#include <xsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/attribute.hxx>
+#include <libxsd-frontend/semantic-graph/attribute.hxx>
namespace XSDFrontend
@@ -36,4 +36,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ATTRIBUTE_HXX
diff --git a/xsd-frontend/traversal/complex.cxx b/libxsd-frontend/traversal/complex.cxx
index 93c145c..4a80b4c 100644
--- a/xsd-frontend/traversal/complex.cxx
+++ b/libxsd-frontend/traversal/complex.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/complex.cxx
+// file : libxsd-frontend/traversal/complex.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/complex.hxx>
+#include <libxsd-frontend/traversal/complex.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/complex.hxx b/libxsd-frontend/traversal/complex.hxx
index 6a23342..2109172 100644
--- a/xsd-frontend/traversal/complex.hxx
+++ b/libxsd-frontend/traversal/complex.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/complex.hxx
+// file : libxsd-frontend/traversal/complex.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
-#define XSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/complex.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/complex.hxx>
namespace XSDFrontend
{
@@ -40,4 +40,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_COMPLEX_HXX
diff --git a/xsd-frontend/traversal/compositors.cxx b/libxsd-frontend/traversal/compositors.cxx
index 01566c1..b5d3d56 100644
--- a/xsd-frontend/traversal/compositors.cxx
+++ b/libxsd-frontend/traversal/compositors.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/compositors.cxx
+// file : libxsd-frontend/traversal/compositors.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/compositors.hxx>
+#include <libxsd-frontend/traversal/compositors.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/compositors.hxx b/libxsd-frontend/traversal/compositors.hxx
index 16d1632..a36f3b3 100644
--- a/xsd-frontend/traversal/compositors.hxx
+++ b/libxsd-frontend/traversal/compositors.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/compositors.hxx
+// file : libxsd-frontend/traversal/compositors.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
-#define XSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/compositors.hxx>
namespace XSDFrontend
{
@@ -131,4 +131,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_COMPOSITORS_HXX
diff --git a/xsd-frontend/traversal/element-group.cxx b/libxsd-frontend/traversal/element-group.cxx
index c53c097..e6e7bf0 100644
--- a/xsd-frontend/traversal/element-group.cxx
+++ b/libxsd-frontend/traversal/element-group.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/element-group.cxx
+// file : libxsd-frontend/traversal/element-group.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/element-group.hxx>
+#include <libxsd-frontend/traversal/element-group.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/element-group.hxx b/libxsd-frontend/traversal/element-group.hxx
index 55d6fec..2088e3c 100644
--- a/xsd-frontend/traversal/element-group.hxx
+++ b/libxsd-frontend/traversal/element-group.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/element-group.hxx
+// file : libxsd-frontend/traversal/element-group.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
-#define XSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/element-group.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/element-group.hxx>
namespace XSDFrontend
{
@@ -31,4 +31,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_GROUP_HXX
diff --git a/xsd-frontend/traversal/element.cxx b/libxsd-frontend/traversal/element.cxx
index d3ac7dd..82361fd 100644
--- a/xsd-frontend/traversal/element.cxx
+++ b/libxsd-frontend/traversal/element.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/element.cxx
+// file : libxsd-frontend/traversal/element.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/element.hxx>
+#include <libxsd-frontend/traversal/element.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/element.hxx b/libxsd-frontend/traversal/element.hxx
index 4d00e3b..e530ac1 100644
--- a/xsd-frontend/traversal/element.hxx
+++ b/libxsd-frontend/traversal/element.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/element.hxx
+// file : libxsd-frontend/traversal/element.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
-#define XSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/element.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/element.hxx>
namespace XSDFrontend
{
@@ -34,4 +34,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ELEMENT_HXX
diff --git a/xsd-frontend/traversal/elements.cxx b/libxsd-frontend/traversal/elements.cxx
index b6905d5..4b97657 100644
--- a/xsd-frontend/traversal/elements.cxx
+++ b/libxsd-frontend/traversal/elements.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/elements.cxx
+// file : libxsd-frontend/traversal/elements.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/elements.hxx b/libxsd-frontend/traversal/elements.hxx
index 25cb2f0..b3c7d13 100644
--- a/xsd-frontend/traversal/elements.hxx
+++ b/libxsd-frontend/traversal/elements.hxx
@@ -1,13 +1,13 @@
-// file : xsd-frontend/traversal/elements.hxx
+// file : libxsd-frontend/traversal/elements.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
-#define XSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
-#include <cutl/compiler/traversal.hxx>
+#include <libcutl/compiler/traversal.hxx>
-#include <xsd-frontend/types.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx>
+#include <libxsd-frontend/types.hxx>
+#include <libxsd-frontend/semantic-graph/elements.hxx>
namespace XSDFrontend
{
@@ -405,6 +405,6 @@ namespace XSDFrontend
}
}
-#include <xsd-frontend/traversal/elements.txx>
+#include <libxsd-frontend/traversal/elements.txx>
-#endif // XSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ELEMENTS_HXX
diff --git a/xsd-frontend/traversal/elements.txx b/libxsd-frontend/traversal/elements.txx
index 7d78c6c..a479346 100644
--- a/xsd-frontend/traversal/elements.txx
+++ b/libxsd-frontend/traversal/elements.txx
@@ -1,4 +1,4 @@
-// file : xsd-frontend/traversal/elements.txx
+// file : libxsd-frontend/traversal/elements.txx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
namespace XSDFrontend
diff --git a/xsd-frontend/traversal/enumeration.cxx b/libxsd-frontend/traversal/enumeration.cxx
index b7fb398..c11d8a7 100644
--- a/xsd-frontend/traversal/enumeration.cxx
+++ b/libxsd-frontend/traversal/enumeration.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/enumeration.cxx
+// file : libxsd-frontend/traversal/enumeration.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/enumeration.hxx>
+#include <libxsd-frontend/traversal/enumeration.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/enumeration.hxx b/libxsd-frontend/traversal/enumeration.hxx
index 8f1e58b..eded1d9 100644
--- a/xsd-frontend/traversal/enumeration.hxx
+++ b/libxsd-frontend/traversal/enumeration.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/enumeration.hxx
+// file : libxsd-frontend/traversal/enumeration.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
-#define XSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/enumeration.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/enumeration.hxx>
namespace XSDFrontend
{
@@ -55,4 +55,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_ENUMERATION_HXX
diff --git a/xsd-frontend/traversal/fundamental.cxx b/libxsd-frontend/traversal/fundamental.cxx
index d3e7e3e..efc85a9 100644
--- a/xsd-frontend/traversal/fundamental.cxx
+++ b/libxsd-frontend/traversal/fundamental.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/fundamental.cxx
+// file : libxsd-frontend/traversal/fundamental.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/fundamental.hxx>
+#include <libxsd-frontend/traversal/fundamental.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/fundamental.hxx b/libxsd-frontend/traversal/fundamental.hxx
index 9d9f98a..0dc1e63 100644
--- a/xsd-frontend/traversal/fundamental.hxx
+++ b/libxsd-frontend/traversal/fundamental.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/fundamental.hxx
+// file : libxsd-frontend/traversal/fundamental.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
-#define XSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/fundamental.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/fundamental.hxx>
namespace XSDFrontend
{
@@ -229,4 +229,4 @@ namespace XSDFrontend
}
-#endif // XSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_FUNDAMENTAL_HXX
diff --git a/xsd-frontend/traversal/list.cxx b/libxsd-frontend/traversal/list.cxx
index 908d0cb..64a43d9 100644
--- a/xsd-frontend/traversal/list.cxx
+++ b/libxsd-frontend/traversal/list.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/list.cxx
+// file : libxsd-frontend/traversal/list.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/list.hxx>
+#include <libxsd-frontend/traversal/list.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/list.hxx b/libxsd-frontend/traversal/list.hxx
index 02bcf5b..473af7f 100644
--- a/xsd-frontend/traversal/list.hxx
+++ b/libxsd-frontend/traversal/list.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/list.hxx
+// file : libxsd-frontend/traversal/list.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_LIST_HXX
-#define XSD_FRONTEND_TRAVERSAL_LIST_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_LIST_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_LIST_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/list.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/list.hxx>
namespace XSDFrontend
{
@@ -34,4 +34,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_LIST_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_LIST_HXX
diff --git a/xsd-frontend/traversal/namespace.cxx b/libxsd-frontend/traversal/namespace.cxx
index 2eafb93..3bafda8 100644
--- a/xsd-frontend/traversal/namespace.cxx
+++ b/libxsd-frontend/traversal/namespace.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/namespace.cxx
+// file : libxsd-frontend/traversal/namespace.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/namespace.hxx>
+#include <libxsd-frontend/traversal/namespace.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/namespace.hxx b/libxsd-frontend/traversal/namespace.hxx
index 5c1a54f..ac115d8 100644
--- a/xsd-frontend/traversal/namespace.hxx
+++ b/libxsd-frontend/traversal/namespace.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/namespace.hxx
+// file : libxsd-frontend/traversal/namespace.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
-#define XSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/namespace.hxx>
namespace XSDFrontend
{
@@ -40,4 +40,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_NAMESPACE_HXX
diff --git a/xsd-frontend/traversal/particle.cxx b/libxsd-frontend/traversal/particle.cxx
index 97784b4..1b80536 100644
--- a/xsd-frontend/traversal/particle.cxx
+++ b/libxsd-frontend/traversal/particle.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/particle.cxx
+// file : libxsd-frontend/traversal/particle.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/particle.hxx>
+#include <libxsd-frontend/traversal/particle.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/particle.hxx b/libxsd-frontend/traversal/particle.hxx
index 0f97d6e..c931e65 100644
--- a/xsd-frontend/traversal/particle.hxx
+++ b/libxsd-frontend/traversal/particle.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/particle.hxx
+// file : libxsd-frontend/traversal/particle.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
-#define XSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/particle.hxx>
namespace XSDFrontend
{
@@ -25,4 +25,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_PARTICLE_HXX
diff --git a/xsd-frontend/traversal/schema.cxx b/libxsd-frontend/traversal/schema.cxx
index a43009b..d38416c 100644
--- a/xsd-frontend/traversal/schema.cxx
+++ b/libxsd-frontend/traversal/schema.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/schema.cxx
+// file : libxsd-frontend/traversal/schema.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/schema.hxx>
+#include <libxsd-frontend/traversal/schema.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/schema.hxx b/libxsd-frontend/traversal/schema.hxx
index 79505fe..52e9302 100644
--- a/xsd-frontend/traversal/schema.hxx
+++ b/libxsd-frontend/traversal/schema.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/schema.hxx
+// file : libxsd-frontend/traversal/schema.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
-#define XSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/schema.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/schema.hxx>
namespace XSDFrontend
{
@@ -145,4 +145,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_SCHEMA_HXX
diff --git a/xsd-frontend/traversal/union.cxx b/libxsd-frontend/traversal/union.cxx
index 9656746..782eecc 100644
--- a/xsd-frontend/traversal/union.cxx
+++ b/libxsd-frontend/traversal/union.cxx
@@ -1,7 +1,7 @@
-// file : xsd-frontend/traversal/union.cxx
+// file : libxsd-frontend/traversal/union.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/traversal/union.hxx>
+#include <libxsd-frontend/traversal/union.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/traversal/union.hxx b/libxsd-frontend/traversal/union.hxx
index 766ddd5..a1df894 100644
--- a/xsd-frontend/traversal/union.hxx
+++ b/libxsd-frontend/traversal/union.hxx
@@ -1,11 +1,11 @@
-// file : xsd-frontend/traversal/union.hxx
+// file : libxsd-frontend/traversal/union.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TRAVERSAL_UNION_HXX
-#define XSD_FRONTEND_TRAVERSAL_UNION_HXX
+#ifndef LIBXSD_FRONTEND_TRAVERSAL_UNION_HXX
+#define LIBXSD_FRONTEND_TRAVERSAL_UNION_HXX
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/union.hxx>
+#include <libxsd-frontend/traversal/elements.hxx>
+#include <libxsd-frontend/semantic-graph/union.hxx>
namespace XSDFrontend
{
@@ -34,4 +34,4 @@ namespace XSDFrontend
}
}
-#endif // XSD_FRONTEND_TRAVERSAL_UNION_HXX
+#endif // LIBXSD_FRONTEND_TRAVERSAL_UNION_HXX
diff --git a/xsd-frontend/types.cxx b/libxsd-frontend/types.cxx
index b4a8cc9..3769bfe 100644
--- a/xsd-frontend/types.cxx
+++ b/libxsd-frontend/types.cxx
@@ -1,9 +1,9 @@
-// file : xsd-frontend/types.cxx
+// file : libxsd-frontend/types.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <cstdlib> // std::mbstowcs
-#include <xsd-frontend/types.hxx>
+#include <libxsd-frontend/types.hxx>
namespace XSDFrontend
{
diff --git a/xsd-frontend/types.hxx b/libxsd-frontend/types.hxx
index 6683bf9..b7aff37 100644
--- a/xsd-frontend/types.hxx
+++ b/libxsd-frontend/types.hxx
@@ -1,8 +1,8 @@
-// file : xsd-frontend/types.hxx
+// file : libxsd-frontend/types.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_TYPES_HXX
-#define XSD_FRONTEND_TYPES_HXX
+#ifndef LIBXSD_FRONTEND_TYPES_HXX
+#define LIBXSD_FRONTEND_TYPES_HXX
#include <string>
#include <cstddef> // std::size_t
@@ -246,4 +246,4 @@ namespace XSDFrontend
typedef WideString String;
}
-#endif // XSD_FRONTEND_TYPES_HXX
+#endif // LIBXSD_FRONTEND_TYPES_HXX
diff --git a/libxsd-frontend/version.hxx b/libxsd-frontend/version.hxx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libxsd-frontend/version.hxx
diff --git a/libxsd-frontend/version.hxx.in b/libxsd-frontend/version.hxx.in
new file mode 100644
index 0000000..536f7fd
--- /dev/null
+++ b/libxsd-frontend/version.hxx.in
@@ -0,0 +1,51 @@
+// file : libxsd-frontend/version.hxx.in
+// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+#ifndef LIBXSD_FRONTEND_VERSION // Note: using the version macro itself.
+
+// The numeric version format is AAAAABBBBBCCCCCDDDE where:
+//
+// AAAAA - major version number
+// BBBBB - minor version number
+// CCCCC - bugfix version number
+// DDD - alpha / beta (DDD + 500) version number
+// E - final (0) / snapshot (1)
+//
+// When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example:
+//
+// Version AAAAABBBBBCCCCCDDDE
+//
+// 0.1.0 0000000001000000000
+// 0.1.2 0000000001000020000
+// 1.2.3 0000100002000030000
+// 2.2.0-a.1 0000200001999990010
+// 3.0.0-b.2 0000299999999995020
+// 2.2.0-a.1.z 0000200001999990011
+//
+#define LIBXSD_FRONTEND_VERSION $libxsd_frontend.version.project_number$ULL
+#define LIBXSD_FRONTEND_VERSION_STR "$libxsd_frontend.version.project$"
+#define LIBXSD_FRONTEND_VERSION_ID "$libxsd_frontend.version.project_id$"
+#define LIBXSD_FRONTEND_VERSION_FULL "$libxsd_frontend.version$"
+
+#define LIBXSD_FRONTEND_VERSION_MAJOR $libxsd_frontend.version.major$
+#define LIBXSD_FRONTEND_VERSION_MINOR $libxsd_frontend.version.minor$
+#define LIBXSD_FRONTEND_VERSION_PATCH $libxsd_frontend.version.patch$
+
+#define LIBXSD_FRONTEND_PRE_RELEASE $libxsd_frontend.version.pre_release$
+
+#define LIBXSD_FRONTEND_SNAPSHOT $libxsd_frontend.version.snapshot_sn$ULL
+#define LIBXSD_FRONTEND_SNAPSHOT_ID "$libxsd_frontend.version.snapshot_id$"
+
+#include <xercesc/util/XercesVersion.hpp>
+
+// Check that we have a compatible Xerces version (3.0.0 or later).
+//
+#if _XERCES_VERSION < 30000
+# error Xerces-C++ 2-series is not supported
+#endif
+
+#include <libcutl/version.hxx>
+
+$libcutl.check(LIBCUTL_VERSION, LIBCUTL_SNAPSHOT)$
+
+#endif // LIBXSD_FRONTEND_VERSION
diff --git a/xsd-frontend/xml.hxx b/libxsd-frontend/xml.hxx
index 828f94e..bc8f36b 100644
--- a/xsd-frontend/xml.hxx
+++ b/libxsd-frontend/xml.hxx
@@ -1,8 +1,8 @@
-// file : xsd-frontend/xml.hxx
+// file : libxsd-frontend/xml.hxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#ifndef XSD_FRONTEND_XML_HXX
-#define XSD_FRONTEND_XML_HXX
+#ifndef LIBXSD_FRONTEND_XML_HXX
+#define LIBXSD_FRONTEND_XML_HXX
#include <vector>
#include <ostream>
@@ -10,9 +10,9 @@
#include <xercesc/dom/DOM.hpp>
#include <xercesc/util/XMLString.hpp>
-#include <xsd-frontend/version.hxx> // Check Xerces-C++ version.
-#include <xsd-frontend/types.hxx>
-#include <xsd-frontend/schema-dom-parser.hxx>
+#include <libxsd-frontend/version.hxx> // Check Xerces-C++ version.
+#include <libxsd-frontend/types.hxx>
+#include <libxsd-frontend/schema-dom-parser.hxx>
namespace XSDFrontend
{
@@ -405,7 +405,7 @@ namespace XSDFrontend
}
- // Simple auto_ptr version that calls release() instead of delete.
+ // Simple unique_ptr version that calls release() instead of delete.
//
template <typename X>
@@ -555,4 +555,4 @@ operator<< (std::wostream& o, XMLCh const* s)
return o << XSDFrontend::XML::transcode (s);
}
-#endif // XSD_FRONTEND_XML_HXX
+#endif // LIBXSD_FRONTEND_XML_HXX
diff --git a/makefile b/makefile
deleted file mode 100644
index a960b42..0000000
--- a/makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# file : makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make
-
-default := $(out_base)/
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-$(default): $(out_base)/xsd-frontend/ $(out_base)/tests/
-$(test): $(out_base)/tests/.test
-$(clean): $(out_base)/xsd-frontend/.clean $(out_base)/tests/.clean
-
-$(call import,$(src_base)/xsd-frontend/makefile)
-$(call import,$(src_base)/tests/makefile)
diff --git a/manifest b/manifest
new file mode 100644
index 0000000..a9cbde0
--- /dev/null
+++ b/manifest
@@ -0,0 +1,17 @@
+: 1
+name: libxsd-frontend
+version: 2.1.0-b.1.z
+summary: XML Schema definition language compiler frontend library
+license: other: GPL-2.0-only with Xerces-C++ linking exception
+topics: C++, XML, XML Schema, XML parser
+description-file: README
+changes-file: NEWS
+url: https://www.codesynthesis.com/projects/libxsd-frontend/
+src-url: https://git.codesynthesis.com/cgit/libxsd-frontend/libxsd-frontend/
+email: libxsd-frontend-users@codesynthesis.com ; Mailing list
+build-warning-email: builds@codesynthesis.com
+requires: c++11
+depends: * build2 >= 0.13.0
+depends: * bpkg >= 0.13.0
+depends: libcutl ^1.11.0-
+depends: libxerces-c ^3.0.0
diff --git a/repositories.manifest b/repositories.manifest
new file mode 100644
index 0000000..161f392
--- /dev/null
+++ b/repositories.manifest
@@ -0,0 +1,10 @@
+: 1
+summary: XML Schema definition language compiler frontend library repository
+
+:
+role: prerequisite
+location: https://git.build2.org/packaging/xerces-c/xerces-c.git##HEAD
+
+:
+role: prerequisite
+location: https://git.codesynthesis.com/libcutl/libcutl.git##HEAD
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..2e508a9
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,3 @@
+driver
+test/
+test-*/
diff --git a/tests/build/.gitignore b/tests/build/.gitignore
new file mode 100644
index 0000000..4a730a3
--- /dev/null
+++ b/tests/build/.gitignore
@@ -0,0 +1,3 @@
+config.build
+root/
+bootstrap/
diff --git a/tests/build/bootstrap.build b/tests/build/bootstrap.build
new file mode 100644
index 0000000..33c8d02
--- /dev/null
+++ b/tests/build/bootstrap.build
@@ -0,0 +1,8 @@
+# file : tests/build/bootstrap.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+project = # Unnamed subproject.
+
+using config
+using dist
+using test
diff --git a/tests/build/root.build b/tests/build/root.build
new file mode 100644
index 0000000..c062795
--- /dev/null
+++ b/tests/build/root.build
@@ -0,0 +1,23 @@
+# file : tests/build/root.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+cxx.std = latest
+
+using cxx
+
+hxx{*}: extension = hxx
+cxx{*}: extension = cxx
+
+if ($cxx.target.system == 'win32-msvc')
+ cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS
+
+if ($cxx.class == 'msvc')
+ cxx.coptions += /wd4251 /wd4275 /wd4800
+
+# Every exe{} in this subproject is by default a test.
+#
+exe{*}: test = true
+
+# Specify the test target for cross-testing.
+#
+test.target = $cxx.target
diff --git a/tests/buildfile b/tests/buildfile
new file mode 100644
index 0000000..97a1f9c
--- /dev/null
+++ b/tests/buildfile
@@ -0,0 +1,4 @@
+# file : tests/buildfile
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+./: {*/ -build/}
diff --git a/tests/dump/makefile b/tests/dump/makefile
deleted file mode 100644
index 18f18de..0000000
--- a/tests/dump/makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# file : tests/dump/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make
-
-cxx_tun := driver.cxx
-cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o))
-cxx_od := $(cxx_obj:.o=.o.d)
-
-xsd-fe.l := $(out_root)/xsd-frontend/xsd-frontend.l
-xsd-fe.l.cpp-options := $(out_root)/xsd-frontend/xsd-frontend.l.cpp-options
-
-driver := $(out_base)/driver
-clean := $(out_base)/.clean
-
-# Build.
-#
-$(driver): $(cxx_obj) $(xsd-fe.l)
-
-$(cxx_obj) $(cxx_od): $(xsd-fe.l.cpp-options)
-
-$(call include-dep,$(cxx_od))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(cxx_obj)) \
- $(addsuffix .cxx.clean,$(cxx_od))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd-frontend/makefile)
diff --git a/tests/makefile b/tests/makefile
deleted file mode 100644
index 103accf..0000000
--- a/tests/makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# file : tests/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make
-
-default := $(out_base)/
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-$(default): $(out_base)/dump/ $(out_base)/schema/
-$(test): $(out_base)/schema/.test
-$(clean): $(out_base)/dump/.clean $(out_base)/schema/.clean
-
-$(call import,$(src_base)/dump/makefile)
-$(call import,$(src_base)/schema/makefile)
diff --git a/tests/schema/annotation.testscript b/tests/schema/annotation.testscript
new file mode 100644
index 0000000..3f8a96b
--- /dev/null
+++ b/tests/schema/annotation.testscript
@@ -0,0 +1,298 @@
+# file : tests/schema/annotation.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: basic
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <annotation>
+ <documentation>schema documentation</documentation>
+ </annotation>
+
+ <simpleType name="list">
+ <annotation>
+ <documentation>list type documentation</documentation>
+ </annotation>
+ <list itemType="string"/>
+ </simpleType>
+
+ <simpleType name="union">
+ <annotation>
+ <documentation>union type documentation</documentation>
+ </annotation>
+ <union memberTypes="int string"/>
+ </simpleType>
+
+ <simpleType name="enum">
+ <annotation>
+ <documentation>enumeration type documentation</documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="male">
+ <annotation>
+ <documentation>enumerator documentation (male)</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="female">
+ <annotation>
+ <documentation>enumerator documentation (female)</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+
+ <complexType name="type">
+ <annotation>
+ <documentation>complex type documentation</documentation>
+ </annotation>
+ <sequence>
+ <element name="efoo" type="string">
+ <annotation>
+ <documentation>local element efoo documentation</documentation>
+ </annotation>
+ </element>
+ <element name="ebar">
+ <annotation>
+ <documentation>local element ebar documentation</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="efoo" type="string">
+ <annotation>
+ <documentation>nested local element efoo documentation</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attribute name="afoo" type="string">
+ <annotation>
+ <documentation>nested local attribute afoo documentation</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+ <element ref="t:ebaz">
+ <annotation>
+ <documentation>local element ebaz documentation</documentation>
+ </annotation>
+ </element>
+ <any namespace="##other">
+ <annotation>
+ <documentation>any documentation</documentation>
+ </annotation>
+ </any>
+ </sequence>
+ <attribute name="afoo" type="string">
+ <annotation>
+ <documentation>local attribute afoo documentation</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="abar">
+ <annotation>
+ <documentation>local attribute abar documentation</documentation>
+ </annotation>
+ <simpleType>
+ <annotation>
+ <documentation>list type documentation</documentation>
+ </annotation>
+ <list itemType="string"/>
+ </simpleType>
+ </attribute>
+ <attribute ref="t:abaz">
+ <annotation>
+ <documentation>local attribute abaz documentation</documentation>
+ </annotation>
+ </attribute>
+ <anyAttribute namespace="##other">
+ <annotation>
+ <documentation>anyAttribute documentation</documentation>
+ </annotation>
+ </anyAttribute>
+ </complexType>
+
+ <element name="ebaz" type="string">
+ <annotation>
+ <documentation>global element documentation</documentation>
+ </annotation>
+ </element>
+
+ <attribute name="abaz" type="string">
+ <annotation>
+ <documentation>global attribute documentation</documentation>
+ </annotation>
+ </attribute>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ <schema documentation>
+ primary
+ {
+ namespace test
+ {
+ <list type documentation>
+ list list http://www.w3.org/2001/XMLSchema#string
+ <union type documentation>
+ union union http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string
+ <enumeration type documentation>
+ enumeration enum: http://www.w3.org/2001/XMLSchema#string
+ {
+ <enumerator documentation (male)>
+ enumerator male
+ <enumerator documentation (female)>
+ enumerator female
+ }
+ <complex type documentation>
+ complex type
+ {
+ <local element efoo documentation>
+ element efoo
+ <local element ebar documentation>
+ element ebar
+ <local element ebaz documentation>
+ element ebaz
+ <any documentation>
+ any 'any #0'
+ <local attribute afoo documentation>
+ optional attribute afoo http://www.w3.org/2001/XMLSchema#string
+ <local attribute abar documentation>
+ optional attribute abar
+ {
+ <list type documentation>
+ list <anonymous> http://www.w3.org/2001/XMLSchema#string
+ }
+ <local attribute abaz documentation>
+ optional attribute abaz http://www.w3.org/2001/XMLSchema#string
+ <anyAttribute documentation>
+ any-attribute 'any-attribute #0'
+ [1, 1] sequence
+ {
+ [1, 1] element efoo http://www.w3.org/2001/XMLSchema#string
+ [1, 1] element ebar
+ {
+ complex <anonymous>
+ {
+ <nested local element efoo documentation>
+ element efoo
+ <nested local attribute afoo documentation>
+ 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'
+ }
+ }
+ <global element documentation>
+ element ebaz http://www.w3.org/2001/XMLSchema#string
+ <global attribute documentation>
+ attribute abaz http://www.w3.org/2001/XMLSchema#string
+ }
+ }
+ EOO
+}
+
+: refs
+:
+{
+ cat <<EOI >=refs.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Test various ref constructs. -->
+
+ <complexType name="type">
+ <sequence>
+ <element ref="t:ebar"/>
+ <group ref="t:eg"/>
+ </sequence>
+ <attribute ref="t:abar"/>
+ <attributeGroup ref="t:ag"/>
+ </complexType>
+
+ <group name="eg">
+ <choice>
+ <element name="efoo" type="string">
+ <annotation>
+ <documentation>group element efoo documentation</documentation>
+ </annotation>
+ </element>
+ <element ref="t:ebar"/>
+ </choice>
+ </group>
+
+ <element name="ebar" type="string">
+ <annotation>
+ <documentation>global element ebar documentation</documentation>
+ </annotation>
+ </element>
+
+ <attributeGroup name="ag">
+ <attribute name="afoo" type="string">
+ <annotation>
+ <documentation>group attribute afoo documentation</documentation>
+ </annotation>
+ </attribute>
+ <attribute ref="t:abaz"/>
+ </attributeGroup>
+
+ <attribute name="abar" type="string">
+ <annotation>
+ <documentation>global attribute abar documentation</documentation>
+ </annotation>
+ </attribute>
+
+ <attribute name="abaz" type="string">
+ <annotation>
+ <documentation>global attribute abaz documentation</documentation>
+ </annotation>
+ </attribute>
+
+ </schema>
+ EOI
+
+ $* refs.xsd >>EOO
+ primary
+ {
+ namespace test
+ {
+ complex type
+ {
+ <global element ebar documentation>
+ element ebar
+ <group element efoo documentation>
+ element efoo
+ <global element ebar documentation>
+ element ebar
+ <global attribute abar documentation>
+ optional attribute abar http://www.w3.org/2001/XMLSchema#string
+ <group attribute afoo documentation>
+ optional attribute afoo http://www.w3.org/2001/XMLSchema#string
+ <global attribute abaz documentation>
+ 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
+ }
+ }
+ }
+ <global element ebar documentation>
+ element ebar http://www.w3.org/2001/XMLSchema#string
+ <global attribute abar documentation>
+ attribute abar http://www.w3.org/2001/XMLSchema#string
+ <global attribute abaz documentation>
+ attribute abaz http://www.w3.org/2001/XMLSchema#string
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/annotation/makefile b/tests/schema/annotation/makefile
deleted file mode 100644
index 8c3d805..0000000
--- a/tests/schema/annotation/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/annotation/makefile
-# 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/tests/schema/annotation/test-000.std b/tests/schema/annotation/test-000.std
deleted file mode 100644
index 15f3e89..0000000
--- a/tests/schema/annotation/test-000.std
+++ /dev/null
@@ -1,67 +0,0 @@
-<schema documentation>
-primary
-{
- namespace test
- {
- <list type documentation>
- list list http://www.w3.org/2001/XMLSchema#string
- <union type documentation>
- union union http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string
- <enumeration type documentation>
- enumeration enum: http://www.w3.org/2001/XMLSchema#string
- {
- <enumerator documentation (male)>
- enumerator male
- <enumerator documentation (female)>
- enumerator female
- }
- <complex type documentation>
- complex type
- {
- <local element efoo documentation>
- element efoo
- <local element ebar documentation>
- element ebar
- <local element ebaz documentation>
- element ebaz
- <any documentation>
- any 'any #0'
- <local attribute afoo documentation>
- optional attribute afoo http://www.w3.org/2001/XMLSchema#string
- <local attribute abar documentation>
- optional attribute abar
- {
- <list type documentation>
- list <anonymous> http://www.w3.org/2001/XMLSchema#string
- }
- <local attribute abaz documentation>
- optional attribute abaz http://www.w3.org/2001/XMLSchema#string
- <anyAttribute documentation>
- any-attribute 'any-attribute #0'
- [1, 1] sequence
- {
- [1, 1] element efoo http://www.w3.org/2001/XMLSchema#string
- [1, 1] element ebar
- {
- complex <anonymous>
- {
- <nested local element efoo documentation>
- element efoo
- <nested local attribute afoo documentation>
- 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'
- }
- }
- <global element documentation>
- element ebaz http://www.w3.org/2001/XMLSchema#string
- <global attribute documentation>
- attribute abaz http://www.w3.org/2001/XMLSchema#string
- }
-}
diff --git a/tests/schema/annotation/test-000.xsd b/tests/schema/annotation/test-000.xsd
deleted file mode 100644
index f768b45..0000000
--- a/tests/schema/annotation/test-000.xsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <annotation>
- <documentation>schema documentation</documentation>
- </annotation>
-
- <simpleType name="list">
- <annotation>
- <documentation>list type documentation</documentation>
- </annotation>
- <list itemType="string"/>
- </simpleType>
-
- <simpleType name="union">
- <annotation>
- <documentation>union type documentation</documentation>
- </annotation>
- <union memberTypes="int string"/>
- </simpleType>
-
- <simpleType name="enum">
- <annotation>
- <documentation>enumeration type documentation</documentation>
- </annotation>
- <restriction base="string">
- <enumeration value="male">
- <annotation>
- <documentation>enumerator documentation (male)</documentation>
- </annotation>
- </enumeration>
- <enumeration value="female">
- <annotation>
- <documentation>enumerator documentation (female)</documentation>
- </annotation>
- </enumeration>
- </restriction>
- </simpleType>
-
- <complexType name="type">
- <annotation>
- <documentation>complex type documentation</documentation>
- </annotation>
- <sequence>
- <element name="efoo" type="string">
- <annotation>
- <documentation>local element efoo documentation</documentation>
- </annotation>
- </element>
- <element name="ebar">
- <annotation>
- <documentation>local element ebar documentation</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element name="efoo" type="string">
- <annotation>
- <documentation>nested local element efoo documentation</documentation>
- </annotation>
- </element>
- </sequence>
- <attribute name="afoo" type="string">
- <annotation>
- <documentation>nested local attribute afoo documentation</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- <element ref="t:ebaz">
- <annotation>
- <documentation>local element ebaz documentation</documentation>
- </annotation>
- </element>
- <any namespace="##other">
- <annotation>
- <documentation>any documentation</documentation>
- </annotation>
- </any>
- </sequence>
- <attribute name="afoo" type="string">
- <annotation>
- <documentation>local attribute afoo documentation</documentation>
- </annotation>
- </attribute>
- <attribute name="abar">
- <annotation>
- <documentation>local attribute abar documentation</documentation>
- </annotation>
- <simpleType>
- <annotation>
- <documentation>list type documentation</documentation>
- </annotation>
- <list itemType="string"/>
- </simpleType>
- </attribute>
- <attribute ref="t:abaz">
- <annotation>
- <documentation>local attribute abaz documentation</documentation>
- </annotation>
- </attribute>
- <anyAttribute namespace="##other">
- <annotation>
- <documentation>anyAttribute documentation</documentation>
- </annotation>
- </anyAttribute>
- </complexType>
-
- <element name="ebaz" type="string">
- <annotation>
- <documentation>global element documentation</documentation>
- </annotation>
- </element>
-
- <attribute name="abaz" type="string">
- <annotation>
- <documentation>global attribute documentation</documentation>
- </annotation>
- </attribute>
-
-</schema>
diff --git a/tests/schema/annotation/test-001.std b/tests/schema/annotation/test-001.std
deleted file mode 100644
index 9e2c99a..0000000
--- a/tests/schema/annotation/test-001.std
+++ /dev/null
@@ -1,36 +0,0 @@
-primary
-{
- namespace test
- {
- complex type
- {
- <global element ebar documentation>
- element ebar
- <group element efoo documentation>
- element efoo
- <global element ebar documentation>
- element ebar
- <global attribute abar documentation>
- optional attribute abar http://www.w3.org/2001/XMLSchema#string
- <group attribute afoo documentation>
- optional attribute afoo http://www.w3.org/2001/XMLSchema#string
- <global attribute abaz documentation>
- 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
- }
- }
- }
- <global element ebar documentation>
- element ebar http://www.w3.org/2001/XMLSchema#string
- <global attribute abar documentation>
- attribute abar http://www.w3.org/2001/XMLSchema#string
- <global attribute abaz documentation>
- attribute abaz http://www.w3.org/2001/XMLSchema#string
- }
-}
diff --git a/tests/schema/annotation/test-001.xsd b/tests/schema/annotation/test-001.xsd
deleted file mode 100644
index 286f63a..0000000
--- a/tests/schema/annotation/test-001.xsd
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Test various ref constructs. -->
-
- <complexType name="type">
- <sequence>
- <element ref="t:ebar"/>
- <group ref="t:eg"/>
- </sequence>
- <attribute ref="t:abar"/>
- <attributeGroup ref="t:ag"/>
- </complexType>
-
- <group name="eg">
- <choice>
- <element name="efoo" type="string">
- <annotation>
- <documentation>group element efoo documentation</documentation>
- </annotation>
- </element>
- <element ref="t:ebar"/>
- </choice>
- </group>
-
- <element name="ebar" type="string">
- <annotation>
- <documentation>global element ebar documentation</documentation>
- </annotation>
- </element>
-
- <attributeGroup name="ag">
- <attribute name="afoo" type="string">
- <annotation>
- <documentation>group attribute afoo documentation</documentation>
- </annotation>
- </attribute>
- <attribute ref="t:abaz"/>
- </attributeGroup>
-
- <attribute name="abar" type="string">
- <annotation>
- <documentation>global attribute abar documentation</documentation>
- </annotation>
- </attribute>
-
- <attribute name="abaz" type="string">
- <annotation>
- <documentation>global attribute abaz documentation</documentation>
- </annotation>
- </attribute>
-
-</schema>
diff --git a/tests/schema/anonymous.testscript b/tests/schema/anonymous.testscript
new file mode 100644
index 0000000..2dbc184
--- /dev/null
+++ b/tests/schema/anonymous.testscript
@@ -0,0 +1,181 @@
+# file : tests/schema/anonymous.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+test.options += --anonymous
+
+: basic
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <simpleType name="named">
+ <list itemType="string"/>
+ </simpleType>
+
+ <simpleType name="anon_item">
+ <restriction base="string">
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="anon">
+ <list>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+ </list>
+ </simpleType>
+
+ <simpleType name="anon_nested">
+ <list>
+ <simpleType>
+ <restriction>
+ <simpleType>
+ <restriction base="string">
+ <maxLength value="20"/>
+ </restriction>
+ </simpleType>
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+ </list>
+ </simpleType>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ {
+ }
+ }
+ }
+ EOO
+}
+
+: complex
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <simpleType name="named">
+ <restriction base="string">
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="anon_base">
+ <restriction base="string">
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="anon">
+ <restriction>
+ <simpleType>
+ <restriction base="string">
+ <maxLength value="20"/>
+ </restriction>
+ </simpleType>
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="anon_nested">
+ <restriction>
+ <simpleType>
+ <restriction>
+ <simpleType>
+ <restriction base="string">
+ <maxLength value="40"/>
+ </restriction>
+ </simpleType>
+ <maxLength value="20"/>
+ </restriction>
+ </simpleType>
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ {
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/anonymous/makefile b/tests/schema/anonymous/makefile
deleted file mode 100644
index 345bf11..0000000
--- a/tests/schema/anonymous/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/annotation/makefile
-# 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/tests/schema/anonymous/test-000.std b/tests/schema/anonymous/test-000.std
deleted file mode 100644
index 1f33cb0..0000000
--- a/tests/schema/anonymous/test-000.std
+++ /dev/null
@@ -1,30 +0,0 @@
-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/tests/schema/anonymous/test-000.xsd b/tests/schema/anonymous/test-000.xsd
deleted file mode 100644
index ece8f4a..0000000
--- a/tests/schema/anonymous/test-000.xsd
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <simpleType name="named">
- <list itemType="string"/>
- </simpleType>
-
- <simpleType name="anon_item">
- <restriction base="string">
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
- <simpleType name="anon">
- <list>
- <simpleType>
- <restriction base="string">
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
- </list>
- </simpleType>
-
- <simpleType name="anon_nested">
- <list>
- <simpleType>
- <restriction>
- <simpleType>
- <restriction base="string">
- <maxLength value="20"/>
- </restriction>
- </simpleType>
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
- </list>
- </simpleType>
-
-</schema>
diff --git a/tests/schema/anonymous/test-001.std b/tests/schema/anonymous/test-001.std
deleted file mode 100644
index cc3f2d1..0000000
--- a/tests/schema/anonymous/test-001.std
+++ /dev/null
@@ -1,38 +0,0 @@
-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/tests/schema/anonymous/test-001.xsd b/tests/schema/anonymous/test-001.xsd
deleted file mode 100644
index 4a8414f..0000000
--- a/tests/schema/anonymous/test-001.xsd
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <simpleType name="named">
- <restriction base="string">
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
- <simpleType name="anon_base">
- <restriction base="string">
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
- <simpleType name="anon">
- <restriction>
- <simpleType>
- <restriction base="string">
- <maxLength value="20"/>
- </restriction>
- </simpleType>
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
- <simpleType name="anon_nested">
- <restriction>
- <simpleType>
- <restriction>
- <simpleType>
- <restriction base="string">
- <maxLength value="40"/>
- </restriction>
- </simpleType>
- <maxLength value="20"/>
- </restriction>
- </simpleType>
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/tests/schema/attribute-group.testscript b/tests/schema/attribute-group.testscript
new file mode 100644
index 0000000..e2a64a6
--- /dev/null
+++ b/tests/schema/attribute-group.testscript
@@ -0,0 +1,102 @@
+# file : tests/schema/attribute-group.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: multiple-ref-levels
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Multiple levels of forward reference. -->
+
+ <complexType name="type">
+ <attributeGroup ref="t:g1"/>
+ </complexType>
+
+ <attributeGroup name="g1">
+ <attributeGroup ref="t:g2"/>
+ <attributeGroup ref="t:g3"/>
+ </attributeGroup>
+
+ <attributeGroup name="g2">
+ <attribute ref="t:foo2"/>
+ <attribute ref="t:bar2" use="required"/>
+ </attributeGroup>
+
+ <attributeGroup name="g3">
+ <attribute ref="t:foo3"/>
+ <attribute ref="t:bar3" use="required"/>
+ </attributeGroup>
+
+ <attribute name="foo2" type="string"/>
+ <attribute name="bar2" type="string"/>
+
+ <attribute name="foo3" type="string"/>
+ <attribute name="bar3" type="string"/>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ }
+ }
+ EOO
+}
+
+: any-attr
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- AnyAttribute in attribute groups. -->
+
+ <complexType name="type">
+ <attributeGroup ref="t:g1"/>
+ <attributeGroup ref="t:g2"/>
+ </complexType>
+
+ <attributeGroup name="g1">
+ <anyAttribute namespace="http://www.foo.com"/>
+ </attributeGroup>
+
+ <attributeGroup name="g2">
+ <attribute name="foo" type="string"/>
+ <anyAttribute namespace="http://www.bar.com"/>
+ </attributeGroup>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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'
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/attribute-group/makefile b/tests/schema/attribute-group/makefile
deleted file mode 100644
index 2caa99f..0000000
--- a/tests/schema/attribute-group/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/attribute-group/makefile
-# 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/tests/schema/attribute-group/test-000.std b/tests/schema/attribute-group/test-000.std
deleted file mode 100644
index 61ad802..0000000
--- a/tests/schema/attribute-group/test-000.std
+++ /dev/null
@@ -1,17 +0,0 @@
-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/tests/schema/attribute-group/test-000.xsd b/tests/schema/attribute-group/test-000.xsd
deleted file mode 100644
index 9087a2b..0000000
--- a/tests/schema/attribute-group/test-000.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Multiple levels of forward reference. -->
-
- <complexType name="type">
- <attributeGroup ref="t:g1"/>
- </complexType>
-
- <attributeGroup name="g1">
- <attributeGroup ref="t:g2"/>
- <attributeGroup ref="t:g3"/>
- </attributeGroup>
-
- <attributeGroup name="g2">
- <attribute ref="t:foo2"/>
- <attribute ref="t:bar2" use="required"/>
- </attributeGroup>
-
- <attributeGroup name="g3">
- <attribute ref="t:foo3"/>
- <attribute ref="t:bar3" use="required"/>
- </attributeGroup>
-
- <attribute name="foo2" type="string"/>
- <attribute name="bar2" type="string"/>
-
- <attribute name="foo3" type="string"/>
- <attribute name="bar3" type="string"/>
-
-</schema>
diff --git a/tests/schema/attribute-group/test-001.std b/tests/schema/attribute-group/test-001.std
deleted file mode 100644
index 54a1e96..0000000
--- a/tests/schema/attribute-group/test-001.std
+++ /dev/null
@@ -1,12 +0,0 @@
-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/tests/schema/attribute-group/test-001.xsd b/tests/schema/attribute-group/test-001.xsd
deleted file mode 100644
index dc44a70..0000000
--- a/tests/schema/attribute-group/test-001.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- AnyAttribute in attribute groups. -->
-
- <complexType name="type">
- <attributeGroup ref="t:g1"/>
- <attributeGroup ref="t:g2"/>
- </complexType>
-
- <attributeGroup name="g1">
- <anyAttribute namespace="http://www.foo.com"/>
- </attributeGroup>
-
- <attributeGroup name="g2">
- <attribute name="foo" type="string"/>
- <anyAttribute namespace="http://www.bar.com"/>
- </attributeGroup>
-
-</schema>
diff --git a/tests/schema/buildfile b/tests/schema/buildfile
new file mode 100644
index 0000000..f3e5b9c
--- /dev/null
+++ b/tests/schema/buildfile
@@ -0,0 +1,6 @@
+# file : tests/schema/buildfile
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+import libs = libxsd-frontend%lib{xsd-frontend}
+
+exe{driver}: {hxx cxx}{*} $libs testscript{*}
diff --git a/tests/schema/default.testscript b/tests/schema/default.testscript
new file mode 100644
index 0000000..e8bcd23
--- /dev/null
+++ b/tests/schema/default.testscript
@@ -0,0 +1,99 @@
+# file : tests/schema/default.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: qual
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="test" xmlns:x="foo" targetNamespace="test">
+
+ <xs:complexType name="type">
+ <xs:sequence>
+ <xs:element name="e1" type="xs:int" default="123"/>
+ <xs:element name="e2" type="xs:int" fixed="456"/>
+
+ <xs:element name="e3" type="xs:QName" default="unqual"/>
+ <xs:element name="e4" type="xs:QName" fixed="t:foo"/>
+ <xs:element name="e5" type="xs:QName" default="x:bar"/>
+ </xs:sequence>
+ <xs:attribute name="a1" type="xs:int" default="123"/>
+ <xs:attribute name="a2" type="xs:int" fixed="456"/>
+
+ <xs:attribute name="a3" type="t:qname" default="x:bar"/>
+ </xs:complexType>
+
+ <xs:simpleType name="qname">
+ <xs:restriction base="xs:QName"/>
+ </xs:simpleType>
+
+ </xs:schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ {
+ }
+ }
+ }
+ EOO
+}
+
+: unqual
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="test" xmlns="foo" targetNamespace="test">
+
+ <xs:complexType name="type">
+ <xs:sequence>
+ <xs:element name="e" type="xs:QName" default="unqual"/>
+ </xs:sequence>
+ <xs:attribute name="a" type="xs:QName" default="unqual"/>
+ </xs:complexType>
+
+ </xs:schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ }
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/default/makefile b/tests/schema/default/makefile
deleted file mode 100644
index 3f5f31e..0000000
--- a/tests/schema/default/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/default/makefile
-# 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/tests/schema/default/test-000.std b/tests/schema/default/test-000.std
deleted file mode 100644
index efa1140..0000000
--- a/tests/schema/default/test-000.std
+++ /dev/null
@@ -1,28 +0,0 @@
-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/tests/schema/default/test-000.xsd b/tests/schema/default/test-000.xsd
deleted file mode 100644
index bfaedc5..0000000
--- a/tests/schema/default/test-000.xsd
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="test" xmlns:x="foo" targetNamespace="test">
-
- <xs:complexType name="type">
- <xs:sequence>
- <xs:element name="e1" type="xs:int" default="123"/>
- <xs:element name="e2" type="xs:int" fixed="456"/>
-
- <xs:element name="e3" type="xs:QName" default="unqual"/>
- <xs:element name="e4" type="xs:QName" fixed="t:foo"/>
- <xs:element name="e5" type="xs:QName" default="x:bar"/>
- </xs:sequence>
- <xs:attribute name="a1" type="xs:int" default="123"/>
- <xs:attribute name="a2" type="xs:int" fixed="456"/>
-
- <xs:attribute name="a3" type="t:qname" default="x:bar"/>
- </xs:complexType>
-
- <xs:simpleType name="qname">
- <xs:restriction base="xs:QName"/>
- </xs:simpleType>
-
-</xs:schema>
diff --git a/tests/schema/default/test-001.std b/tests/schema/default/test-001.std
deleted file mode 100644
index 1b84a07..0000000
--- a/tests/schema/default/test-001.std
+++ /dev/null
@@ -1,15 +0,0 @@
-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/tests/schema/default/test-001.xsd b/tests/schema/default/test-001.xsd
deleted file mode 100644
index 5ee0507..0000000
--- a/tests/schema/default/test-001.xsd
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="test" xmlns="foo" targetNamespace="test">
-
- <xs:complexType name="type">
- <xs:sequence>
- <xs:element name="e" type="xs:QName" default="unqual"/>
- </xs:sequence>
- <xs:attribute name="a" type="xs:QName" default="unqual"/>
- </xs:complexType>
-
-</xs:schema>
diff --git a/tests/dump/driver.cxx b/tests/schema/driver.cxx
index dc87d59..09ef2e5 100644
--- a/tests/dump/driver.cxx
+++ b/tests/schema/driver.cxx
@@ -1,13 +1,13 @@
-// file : tests/dump/driver.cxx
+// file : tests/schema/driver.cxx
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-#include <xsd-frontend/types.hxx>
-#include <xsd-frontend/parser.hxx>
-#include <xsd-frontend/transformations/anonymous.hxx>
-#include <xsd-frontend/transformations/enum-synthesis.hxx>
+#include <libxsd-frontend/types.hxx>
+#include <libxsd-frontend/parser.hxx>
+#include <libxsd-frontend/transformations/anonymous.hxx>
+#include <libxsd-frontend/transformations/enum-synthesis.hxx>
-#include <xsd-frontend/semantic-graph.hxx>
-#include <xsd-frontend/traversal.hxx>
+#include <libxsd-frontend/semantic-graph.hxx>
+#include <libxsd-frontend/traversal.hxx>
#include <iostream>
@@ -77,7 +77,7 @@ namespace
<< endl;
wcout << ind << "union " <<
- (u.named_p () ? u.name () : String ("<anonymous>")) << " ";
+ (u.named_p () ? u.name () : String ("<anonymous>"));
for (Type::ArgumentedIterator i (u.argumented_begin ());
i != u.argumented_end (); ++i)
@@ -85,7 +85,7 @@ namespace
SemanticGraph::Type& t (i->type ());
if (t.named_p ())
- wcout << ref_name (t) << " ";
+ wcout << " " << ref_name (t);
else
{
wcout << endl
@@ -579,7 +579,7 @@ main (int argc, char* argv[])
SemanticGraph::Path path (argv[i]);
Parser parser (true, false, true);
- auto_ptr<SemanticGraph::Schema> tu (parser.parse (path));
+ unique_ptr<SemanticGraph::Schema> tu (parser.parse (path));
//
//
diff --git a/tests/schema/element-group.testscript b/tests/schema/element-group.testscript
new file mode 100644
index 0000000..5fb385f
--- /dev/null
+++ b/tests/schema/element-group.testscript
@@ -0,0 +1,324 @@
+# file : tests/schema/element-group.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: multiple-ref-levels
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Multiple levels of forward reference. -->
+
+ <complexType name="type">
+ <sequence>
+ <group ref="t:g1" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <group name="g1">
+ <choice>
+ <group ref="t:g2" minOccurs="0"/>
+ <group ref="t:g3" maxOccurs="unbounded"/>
+ </choice>
+ </group>
+
+ <group name="g2">
+ <choice>
+ <element ref="t:foo2"/>
+ <element ref="t:bar2" minOccurs="0"/>
+ </choice>
+ </group>
+
+ <group name="g3">
+ <choice>
+ <element ref="t:foo3" maxOccurs="unbounded"/>
+ <element ref="t:bar3" minOccurs="0" maxOccurs="unbounded"/>
+ </choice>
+ </group>
+
+ <element name="foo2" type="string"/>
+ <element name="bar2" type="string"/>
+
+ <element name="foo3" type="string"/>
+ <element name="bar3" type="string"/>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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
+ }
+ }
+ EOO
+}
+
+: recursive-refs
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Recursive reference: g1->element->type->g1 -->
+
+ <complexType name="type">
+ <sequence>
+ <group ref="t:g1"/>
+ </sequence>
+ </complexType>
+
+ <group name="g1">
+ <choice>
+ <element name="foo">
+ <complexType>
+ <sequence>
+ <group ref="t:g1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element ref="t:bar"/>
+ </choice>
+ </group>
+
+ <element name="bar">
+ <complexType>
+ <sequence>
+ <group ref="t:g1"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ primary
+ {
+ namespace test
+ {
+ complex type
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <recursive-anonymous>
+ }
+ [1, 1] element bar
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <recursive-anonymous>
+ }
+ [1, 1] element bar
+ {
+ complex <recursive-anonymous>
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ [1, 1] element bar
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <recursive-anonymous>
+ }
+ [1, 1] element bar
+ {
+ complex <recursive-anonymous>
+ }
+ }
+ }
+ }
+ }
+ [1, 1] element bar
+ {
+ complex <recursive-anonymous>
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ element bar
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <anonymous>
+ {
+ element foo
+ element bar
+ [1, 1] sequence
+ {
+ [1, 1] choice
+ {
+ [1, 1] element foo
+ {
+ complex <recursive-anonymous>
+ }
+ [1, 1] element bar
+ {
+ complex <recursive-anonymous>
+ }
+ }
+ }
+ }
+ }
+ [1, 1] element bar
+ {
+ complex <recursive-anonymous>
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ EOO
+}
+
+: any
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Any in groups. -->
+
+ <complexType name="type">
+ <sequence>
+ <group ref="t:g1" minOccurs="0" maxOccurs="unbounded"/>
+ <group ref="t:g2" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <group name="g1">
+ <sequence>
+ <any namespace="http://www.foo.com"/>
+ </sequence>
+ </group>
+
+ <group name="g2">
+ <sequence>
+ <element name="foo" type="int"/>
+ <any namespace="http://www.bar.com"/>
+ </sequence>
+ </group>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ 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'
+ }
+ }
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/element-group/makefile b/tests/schema/element-group/makefile
deleted file mode 100644
index 41c9afe..0000000
--- a/tests/schema/element-group/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/element-group/makefile
-# 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/tests/schema/element-group/test-000.std b/tests/schema/element-group/test-000.std
deleted file mode 100644
index 1652b68..0000000
--- a/tests/schema/element-group/test-000.std
+++ /dev/null
@@ -1,33 +0,0 @@
-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/tests/schema/element-group/test-000.xsd b/tests/schema/element-group/test-000.xsd
deleted file mode 100644
index 1864b28..0000000
--- a/tests/schema/element-group/test-000.xsd
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Multiple levels of forward reference. -->
-
- <complexType name="type">
- <sequence>
- <group ref="t:g1" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <group name="g1">
- <choice>
- <group ref="t:g2" minOccurs="0"/>
- <group ref="t:g3" maxOccurs="unbounded"/>
- </choice>
- </group>
-
- <group name="g2">
- <choice>
- <element ref="t:foo2"/>
- <element ref="t:bar2" minOccurs="0"/>
- </choice>
- </group>
-
- <group name="g3">
- <choice>
- <element ref="t:foo3" maxOccurs="unbounded"/>
- <element ref="t:bar3" minOccurs="0" maxOccurs="unbounded"/>
- </choice>
- </group>
-
- <element name="foo2" type="string"/>
- <element name="bar2" type="string"/>
-
- <element name="foo3" type="string"/>
- <element name="bar3" type="string"/>
-
-</schema>
diff --git a/tests/schema/element-group/test-001.std b/tests/schema/element-group/test-001.std
deleted file mode 100644
index ae8c1fc..0000000
--- a/tests/schema/element-group/test-001.std
+++ /dev/null
@@ -1,137 +0,0 @@
-primary
-{
- namespace test
- {
- complex type
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <recursive-anonymous>
- }
- [1, 1] element bar
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <recursive-anonymous>
- }
- [1, 1] element bar
- {
- complex <recursive-anonymous>
- }
- }
- }
- }
- }
- }
- }
- }
- }
- [1, 1] element bar
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <recursive-anonymous>
- }
- [1, 1] element bar
- {
- complex <recursive-anonymous>
- }
- }
- }
- }
- }
- [1, 1] element bar
- {
- complex <recursive-anonymous>
- }
- }
- }
- }
- }
- }
- }
- }
- element bar
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <anonymous>
- {
- element foo
- element bar
- [1, 1] sequence
- {
- [1, 1] choice
- {
- [1, 1] element foo
- {
- complex <recursive-anonymous>
- }
- [1, 1] element bar
- {
- complex <recursive-anonymous>
- }
- }
- }
- }
- }
- [1, 1] element bar
- {
- complex <recursive-anonymous>
- }
- }
- }
- }
- }
- }
-}
diff --git a/tests/schema/element-group/test-001.xsd b/tests/schema/element-group/test-001.xsd
deleted file mode 100644
index c6059af..0000000
--- a/tests/schema/element-group/test-001.xsd
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Recursive reference: g1->element->type->g1 -->
-
- <complexType name="type">
- <sequence>
- <group ref="t:g1"/>
- </sequence>
- </complexType>
-
- <group name="g1">
- <choice>
- <element name="foo">
- <complexType>
- <sequence>
- <group ref="t:g1"/>
- </sequence>
- </complexType>
- </element>
- <element ref="t:bar"/>
- </choice>
- </group>
-
- <element name="bar">
- <complexType>
- <sequence>
- <group ref="t:g1"/>
- </sequence>
- </complexType>
- </element>
-
-</schema>
diff --git a/tests/schema/element-group/test-002.std b/tests/schema/element-group/test-002.std
deleted file mode 100644
index d2c60fe..0000000
--- a/tests/schema/element-group/test-002.std
+++ /dev/null
@@ -1,24 +0,0 @@
-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/tests/schema/element-group/test-002.xsd b/tests/schema/element-group/test-002.xsd
deleted file mode 100644
index bc1bd70..0000000
--- a/tests/schema/element-group/test-002.xsd
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Any in groups. -->
-
- <complexType name="type">
- <sequence>
- <group ref="t:g1" minOccurs="0" maxOccurs="unbounded"/>
- <group ref="t:g2" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <group name="g1">
- <sequence>
- <any namespace="http://www.foo.com"/>
- </sequence>
- </group>
-
- <group name="g2">
- <sequence>
- <element name="foo" type="int"/>
- <any namespace="http://www.bar.com"/>
- </sequence>
- </group>
-
-</schema>
diff --git a/tests/schema/enumeration.testscript b/tests/schema/enumeration.testscript
new file mode 100644
index 0000000..5313611
--- /dev/null
+++ b/tests/schema/enumeration.testscript
@@ -0,0 +1,148 @@
+# file : tests/schema/enumeration.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+test.options += --enum-synthesis
+
+: synthesis
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Enumeration synthesis -->
+
+ <simpleType name="common-base">
+ <restriction base="string"/>
+ </simpleType>
+
+ <simpleType name="base">
+ <restriction base="t:common-base"/>
+ </simpleType>
+
+ <simpleType name="one">
+ <restriction base="t:base">
+ <enumeration value="romance">
+ <annotation>
+ <documentation>romance documentation</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="fiction"/>
+ <enumeration value="horror"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="two">
+ <restriction base="t:common-base">
+ <enumeration value="horror"/>
+ <enumeration value="history"/>
+ <enumeration value="philosophy"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="three">
+ <restriction base="anyURI">
+ <enumeration value="foo"/>
+ <enumeration value="bar"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="union0">
+ <union memberTypes="t:one t:two t:union1"/>
+ </simpleType>
+
+ <simpleType name="union1">
+ <annotation>
+ <documentation>union1 documentation</documentation>
+ </annotation>
+ <union memberTypes="t:one t:two"/>
+ </simpleType>
+
+ <simpleType name="union2">
+ <union memberTypes="t:one t:union1 t:common-base"/>
+ </simpleType>
+
+ <simpleType name="union3">
+ <union memberTypes="t:one t:three"/>
+ </simpleType>
+
+ <complexType name="complex1">
+ <sequence>
+ <element name="a" type="t:union1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="complex2">
+ <simpleContent>
+ <extension base="t:union1"/>
+ </simpleContent>
+ </complexType>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ primary
+ {
+ namespace test
+ {
+ complex common-base: http://www.w3.org/2001/XMLSchema#string
+ {
+ }
+ complex base: test#common-base
+ {
+ }
+ enumeration one: test#base
+ {
+ <romance documentation>
+ 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
+ {
+ <romance documentation>
+ enumerator romance
+ enumerator fiction
+ enumerator horror
+ enumerator history
+ enumerator philosophy
+ }
+ <union1 documentation>
+ enumeration union1: test#common-base
+ {
+ <romance documentation>
+ 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
+ {
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/enumeration/makefile b/tests/schema/enumeration/makefile
deleted file mode 100644
index 8981773..0000000
--- a/tests/schema/enumeration/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/enumeration/makefile
-# 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/tests/schema/enumeration/test-000.std b/tests/schema/enumeration/test-000.std
deleted file mode 100644
index 64e3065..0000000
--- a/tests/schema/enumeration/test-000.std
+++ /dev/null
@@ -1,62 +0,0 @@
-primary
-{
- namespace test
- {
- complex common-base: http://www.w3.org/2001/XMLSchema#string
- {
- }
- complex base: test#common-base
- {
- }
- enumeration one: test#base
- {
- <romance documentation>
- 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
- {
- <romance documentation>
- enumerator romance
- enumerator fiction
- enumerator horror
- enumerator history
- enumerator philosophy
- }
- <union1 documentation>
- enumeration union1: test#common-base
- {
- <romance documentation>
- 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/tests/schema/enumeration/test-000.xsd b/tests/schema/enumeration/test-000.xsd
deleted file mode 100644
index 08539bf..0000000
--- a/tests/schema/enumeration/test-000.xsd
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Enumeration synthesis -->
-
- <simpleType name="common-base">
- <restriction base="string"/>
- </simpleType>
-
- <simpleType name="base">
- <restriction base="t:common-base"/>
- </simpleType>
-
- <simpleType name="one">
- <restriction base="t:base">
- <enumeration value="romance">
- <annotation>
- <documentation>romance documentation</documentation>
- </annotation>
- </enumeration>
- <enumeration value="fiction"/>
- <enumeration value="horror"/>
- </restriction>
- </simpleType>
-
- <simpleType name="two">
- <restriction base="t:common-base">
- <enumeration value="horror"/>
- <enumeration value="history"/>
- <enumeration value="philosophy"/>
- </restriction>
- </simpleType>
-
- <simpleType name="three">
- <restriction base="anyURI">
- <enumeration value="foo"/>
- <enumeration value="bar"/>
- </restriction>
- </simpleType>
-
- <simpleType name="union0">
- <union memberTypes="t:one t:two t:union1"/>
- </simpleType>
-
- <simpleType name="union1">
- <annotation>
- <documentation>union1 documentation</documentation>
- </annotation>
- <union memberTypes="t:one t:two"/>
- </simpleType>
-
- <simpleType name="union2">
- <union memberTypes="t:one t:union1 t:common-base"/>
- </simpleType>
-
- <simpleType name="union3">
- <union memberTypes="t:one t:three"/>
- </simpleType>
-
- <complexType name="complex1">
- <sequence>
- <element name="a" type="t:union1"/>
- </sequence>
- </complexType>
-
- <complexType name="complex2">
- <simpleContent>
- <extension base="t:union1"/>
- </simpleContent>
- </complexType>
-
-</schema>
diff --git a/tests/schema/makefile b/tests/schema/makefile
deleted file mode 100644
index b2c2fc3..0000000
--- a/tests/schema/makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# file : tests/schema
-# 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/tests/schema/union.testscript b/tests/schema/union.testscript
new file mode 100644
index 0000000..3294ee8
--- /dev/null
+++ b/tests/schema/union.testscript
@@ -0,0 +1,135 @@
+# file : tests/schema/union.testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: basic
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <simpleType name="u1">
+ <union memberTypes="int string"/>
+ </simpleType>
+
+ <simpleType name="u2">
+ <union>
+ <simpleType>
+ <restriction base="token">
+ <enumeration value="one"/>
+ </restriction>
+ </simpleType>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="two"/>
+ </restriction>
+ </simpleType>
+ </union>
+ </simpleType>
+
+ <simpleType name="u3">
+ <union memberTypes=" int
+
+ t:u1 ">
+ <simpleType>
+ <restriction base="token">
+ <enumeration value="one"/>
+ </restriction>
+ </simpleType>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="two"/>
+ </restriction>
+ </simpleType>
+ </union>
+ </simpleType>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ primary
+ {
+ namespace test
+ {
+ union u1 http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string
+ union u2
+ {
+ enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#token
+ {
+ enumerator one
+ }
+ }
+
+ {
+ enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#string
+ {
+ enumerator two
+ }
+ }
+
+ union u3 http://www.w3.org/2001/XMLSchema#int test#u1
+ {
+ enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#token
+ {
+ enumerator one
+ }
+ }
+
+ {
+ enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#string
+ {
+ enumerator two
+ }
+ }
+
+ }
+ }
+ EOO
+}
+
+: anonymous
+:
+{
+ cat <<EOI >=test.xsd;
+ <?xml version="1.0"?>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
+
+ <!-- Test resolution of anonymous argument types. -->
+
+ <simpleType name="list">
+ <list>
+ <simpleType>
+ <union memberTypes="int t:enum"/>
+ </simpleType>
+ </list>
+ </simpleType>
+
+ <simpleType name="enum">
+ <restriction base="string">
+ <enumeration value="male"/>
+ <enumeration value="female"/>
+ </restriction>
+ </simpleType>
+
+ </schema>
+ EOI
+
+ $* test.xsd >>EOO
+ primary
+ {
+ namespace test
+ {
+ list list
+ {
+ union <anonymous> http://www.w3.org/2001/XMLSchema#int test#enum
+ }
+ enumeration enum: http://www.w3.org/2001/XMLSchema#string
+ {
+ enumerator male
+ enumerator female
+ }
+ }
+ }
+ EOO
+}
diff --git a/tests/schema/union/makefile b/tests/schema/union/makefile
deleted file mode 100644
index a8a1ca6..0000000
--- a/tests/schema/union/makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# file : tests/schema/union/makefile
-# 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/tests/schema/union/test-000.std b/tests/schema/union/test-000.std
deleted file mode 100644
index 6f95b0c..0000000
--- a/tests/schema/union/test-000.std
+++ /dev/null
@@ -1,37 +0,0 @@
-primary
-{
- namespace test
- {
- union u1 http://www.w3.org/2001/XMLSchema#int http://www.w3.org/2001/XMLSchema#string
- union u2
- {
- enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#token
- {
- enumerator one
- }
- }
-
- {
- enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#string
- {
- enumerator two
- }
- }
-
- union u3 http://www.w3.org/2001/XMLSchema#int test#u1
- {
- enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#token
- {
- enumerator one
- }
- }
-
- {
- enumeration <anonymous>: http://www.w3.org/2001/XMLSchema#string
- {
- enumerator two
- }
- }
-
- }
-}
diff --git a/tests/schema/union/test-000.xsd b/tests/schema/union/test-000.xsd
deleted file mode 100644
index 99535de..0000000
--- a/tests/schema/union/test-000.xsd
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <simpleType name="u1">
- <union memberTypes="int string"/>
- </simpleType>
-
- <simpleType name="u2">
- <union>
- <simpleType>
- <restriction base="token">
- <enumeration value="one"/>
- </restriction>
- </simpleType>
- <simpleType>
- <restriction base="string">
- <enumeration value="two"/>
- </restriction>
- </simpleType>
- </union>
- </simpleType>
-
- <simpleType name="u3">
- <union memberTypes=" int
-
-t:u1 ">
- <simpleType>
- <restriction base="token">
- <enumeration value="one"/>
- </restriction>
- </simpleType>
- <simpleType>
- <restriction base="string">
- <enumeration value="two"/>
- </restriction>
- </simpleType>
- </union>
- </simpleType>
-
-</schema>
diff --git a/tests/schema/union/test-001.std b/tests/schema/union/test-001.std
deleted file mode 100644
index f407b30..0000000
--- a/tests/schema/union/test-001.std
+++ /dev/null
@@ -1,15 +0,0 @@
-primary
-{
- namespace test
- {
- list list
- {
- union <anonymous> 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/tests/schema/union/test-001.xsd b/tests/schema/union/test-001.xsd
deleted file mode 100644
index 00fd8ce..0000000
--- a/tests/schema/union/test-001.xsd
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- Test resolution of anonymous argument types. -->
-
- <simpleType name="list">
- <list>
- <simpleType>
- <union memberTypes="int t:enum"/>
- </simpleType>
- </list>
- </simpleType>
-
- <simpleType name="enum">
- <restriction base="string">
- <enumeration value="male"/>
- <enumeration value="female"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/version b/version
deleted file mode 100644
index 227cea2..0000000
--- a/version
+++ /dev/null
@@ -1 +0,0 @@
-2.0.0
diff --git a/xsd-frontend/makefile b/xsd-frontend/makefile
deleted file mode 100644
index 9e955fa..0000000
--- a/xsd-frontend/makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-# file : xsd-frontend/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make
-
-cxx_tun := semantic-graph/annotation.cxx \
- semantic-graph/any.cxx \
- semantic-graph/any-attribute.cxx \
- semantic-graph/attribute.cxx \
- semantic-graph/attribute-group.cxx \
- semantic-graph/complex.cxx \
- semantic-graph/compositors.cxx \
- semantic-graph/element.cxx \
- semantic-graph/element-group.cxx \
- semantic-graph/elements.cxx \
- semantic-graph/enumeration.cxx \
- semantic-graph/fundamental.cxx \
- semantic-graph/list.cxx \
- semantic-graph/namespace.cxx \
- semantic-graph/particle.cxx \
- semantic-graph/schema.cxx \
- semantic-graph/union.cxx
-
-cxx_tun += traversal/attribute.cxx \
- traversal/attribute-group.cxx \
- traversal/complex.cxx \
- traversal/compositors.cxx \
- traversal/element.cxx \
- traversal/element-group.cxx \
- traversal/elements.cxx \
- traversal/enumeration.cxx \
- traversal/fundamental.cxx \
- traversal/list.cxx \
- traversal/namespace.cxx \
- traversal/particle.cxx \
- traversal/schema.cxx \
- traversal/union.cxx
-
-cxx_tun += transformations/anonymous.cxx \
- transformations/enum-synthesis.cxx \
- transformations/restriction.cxx \
- transformations/schema-per-type.cxx \
- transformations/simplifier.cxx
-
-cxx_tun += generators/dependencies.cxx
-
-cxx_tun += types.cxx parser.cxx schema-dom-parser.cxx
-
-
-cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o))
-cxx_od := $(cxx_obj:.o=.o.d)
-m4_cxx := $(out_base)/semantic-graph/fundamental.hxx \
- $(out_base)/semantic-graph/fundamental.cxx
-
-xsd_frontend.l := $(out_base)/xsd-frontend.l
-xsd_frontend.l.cpp-options := $(out_base)/xsd-frontend.l.cpp-options
-
-clean := $(out_base)/.clean
-
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-$(call import,\
- $(scf_root)/import/libcutl/stub.make,\
- l: cutl.l,cpp-options: cutl.l.cpp-options)
-
-# What to build.
-#
-$(xsd_frontend.l): $(cxx_obj) $(cutl.l) $(xerces_c.l)
-
-$(xsd_frontend.l.cpp-options): prefix := xsd-frontend/ $(out_root)/
-$(xsd_frontend.l.cpp-options): value := -I$(src_root) -I$(out_root)
-$(xsd_frontend.l.cpp-options): $(cutl.l.cpp-options)
-
-#@@ This can be further optimized since only parser depends on xerces.
-#
-$(cxx_obj) $(cxx_od): $(xsd_frontend.l.cpp-options) $(xerces_c.l.cpp-options)
-
-$(m4_cxx): $(src_base)/semantic-graph/fundamental.m4
-$(m4_cxx): m4_options := -I $(src_base)/semantic-graph
-
-$(call include-dep,$(cxx_od))
-
-# Alias for default target.
-#
-$(out_base)/: $(xsd_frontend.l)
-
-# Clean
-#
-$(clean): $(xsd_frontend.l).o.clean \
- $(xsd_frontend.l.cpp-options).clean \
- $(addsuffix .cxx.clean,$(cxx_obj)) \
- $(addsuffix .cxx.clean,$(cxx_od))
-
-ifneq ($(libxsd_frontend_clean_gen),n)
-$(clean): $(addsuffix .m4.clean,$(m4_cxx))
-endif
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(xsd_frontend.l): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := semantic-graph/fundamental.hxx semantic-graph/fundamental.cxx
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-l.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-$(call include,$(bld_root)/m4/m4.make)
diff --git a/xsd-frontend/semantic-graph.hxx b/xsd-frontend/semantic-graph.hxx
deleted file mode 100644
index ad3aaa0..0000000
--- a/xsd-frontend/semantic-graph.hxx
+++ /dev/null
@@ -1,25 +0,0 @@
-// file : xsd-frontend/semantic-graph.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_HXX
-
-#include <xsd-frontend/semantic-graph/annotation.hxx>
-#include <xsd-frontend/semantic-graph/any.hxx>
-#include <xsd-frontend/semantic-graph/any-attribute.hxx>
-#include <xsd-frontend/semantic-graph/attribute.hxx>
-#include <xsd-frontend/semantic-graph/attribute-group.hxx>
-#include <xsd-frontend/semantic-graph/complex.hxx>
-#include <xsd-frontend/semantic-graph/compositors.hxx>
-#include <xsd-frontend/semantic-graph/element.hxx>
-#include <xsd-frontend/semantic-graph/element-group.hxx>
-#include <xsd-frontend/semantic-graph/elements.hxx>
-#include <xsd-frontend/semantic-graph/enumeration.hxx>
-#include <xsd-frontend/semantic-graph/fundamental.hxx>
-#include <xsd-frontend/semantic-graph/list.hxx>
-#include <xsd-frontend/semantic-graph/namespace.hxx>
-#include <xsd-frontend/semantic-graph/particle.hxx>
-#include <xsd-frontend/semantic-graph/schema.hxx>
-#include <xsd-frontend/semantic-graph/union.hxx>
-
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_HXX
diff --git a/xsd-frontend/semantic-graph/fundamental.cxx.m4 b/xsd-frontend/semantic-graph/fundamental.cxx.m4
deleted file mode 100644
index 31e3847..0000000
--- a/xsd-frontend/semantic-graph/fundamental.cxx.m4
+++ /dev/null
@@ -1,209 +0,0 @@
-divert(-1)
-
-# file : xsd-frontend/semantic-graph/fundamental.cxx.m4
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include(`fundamental.m4')
-
-define(`fundamental_type',
- `fundamental_type_impl(`make_class_name(`$1')', `make_var_name(`$1')')')
-
-
-define(`fundamental_type_impl', `
-
- // $1
- //
- namespace
- {
- struct $1Init
- {
- $1Init ()
- {
- type_info ti (typeid ($1));
- ti.add_base (typeid (Type));
- insert (ti);
- }
-
- } $2_init_;
- }
-
- $1::
- $1 (Path const& file,
- unsigned long line,
- unsigned long column)
- : Node (file, line, column)
- {
- }')
-
-divert(0)dnl
-dnl
-dnl
-dnl
-// file : xsd-frontend/semantic-graph/fundamental.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Note, that this file is automatically generated!
-//
-
-#include <cutl/compiler/type-info.hxx>
-
-#include <xsd-frontend/semantic-graph/fundamental.hxx>
-
-namespace XSDFrontend
-{
- namespace SemanticGraph
- {
- namespace Fundamental
- {
- using compiler::type_info;
-
- // Type
- //
- namespace
- {
- struct TypeInit
- {
- TypeInit ()
- {
- type_info ti (typeid (Type));
- ti.add_base (typeid (SemanticGraph::Type));
- insert (ti);
- }
- } any_type_init_;
- }
-
- Type::
- Type ()
- {
- }
-dnl
-dnl Integers.
-dnl
-fundamental_type(`byte')
-fundamental_type(`unsigned byte')
-fundamental_type(`short')
-fundamental_type(`unsigned short')
-fundamental_type(`int')
-fundamental_type(`unsigned int')
-fundamental_type(`long')
-fundamental_type(`unsigned long')
-fundamental_type(`integer')
-fundamental_type(`non positive integer')
-fundamental_type(`non negative integer')
-fundamental_type(`positive integer')
-fundamental_type(`negative integer')
-dnl
-dnl Boolean.
-dnl
-fundamental_type(`boolean')
-dnl
-dnl Floats.
-dnl
-fundamental_type(`float')
-fundamental_type(`double')
-fundamental_type(`decimal')
-dnl
-dnl Strings.
-dnl
-fundamental_type(`string')
-fundamental_type(`normalized string')
-fundamental_type(`token')
-fundamental_type(`name')
-fundamental_type(`name token')
-fundamental_type(`name tokens')
-fundamental_type(`NC name')
-fundamental_type(`language')
-dnl
-dnl Qualified name.
-dnl
-fundamental_type(`q name')
-dnl
-dnl ID/IDREF.
-dnl
-fundamental_type(`id')
-
-
- // IdRef
- //
- namespace
- {
- struct IdRefInit
- {
- IdRefInit ()
- {
- type_info ti (typeid (IdRef));
- ti.add_base (typeid (Type));
- ti.add_base (typeid (Specialization));
- insert (ti);
- }
-
- } id_ref_init_;
- }
-
- IdRef::
- IdRef (Path const& file,
- unsigned long line,
- unsigned long column)
- : Node (file, line, column)
- {
- }
-
-
- // IdRefs
- //
- namespace
- {
- struct IdRefsInit
- {
- IdRefsInit ()
- {
- type_info ti (typeid (IdRefs));
- ti.add_base (typeid (Type));
- ti.add_base (typeid (Specialization));
- insert (ti);
- }
-
- } id_refs_init_;
- }
-
- IdRefs::
- IdRefs (Path const& file,
- unsigned long line,
- unsigned long column)
- : Node (file, line, column)
- {
- }
-dnl
-dnl URI.
-dnl
-fundamental_type(`any URI')
-dnl
-dnl Binary.
-dnl
-fundamental_type(`base 64 binary')
-fundamental_type(`hex binary')
-dnl
-dnl Date/time.
-dnl
-fundamental_type(`date')
-fundamental_type(`date time')
-fundamental_type(`duration')
-fundamental_type(`day')
-fundamental_type(`month')
-fundamental_type(`month day')
-fundamental_type(`year')
-fundamental_type(`year month')
-fundamental_type(`time')
-dnl
-dnl Entity.
-dnl
-fundamental_type(`entity')
-fundamental_type(`entities')
-dnl
-dnl Notation.
-dnl
-fundamental_type(`notation')
-dnl
- }
- }
-}
diff --git a/xsd-frontend/semantic-graph/fundamental.hxx.m4 b/xsd-frontend/semantic-graph/fundamental.hxx.m4
deleted file mode 100644
index eb02874..0000000
--- a/xsd-frontend/semantic-graph/fundamental.hxx.m4
+++ /dev/null
@@ -1,153 +0,0 @@
-divert(-1)
-
-# file : xsd-frontend/semantic-graph/fundamental.hxx.m4
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include(`fundamental.m4')
-
-define(`fundamental_type', `fundamental_type_impl(`make_class_name(`$1')', `$1')')
-
-define(`fundamental_type_impl', `
-
- //
- //
- class $1: public virtual Type
- {
- public:
- $1 (Path const& file,
- unsigned long line,
- unsigned long column);
- };')
-divert(0)dnl
-dnl
-dnl
-dnl
-// file : xsd-frontend/semantic-graph/fundamental.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Note, that this file is automatically generated!
-//
-
-#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
-#define XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
-
-#include <xsd-frontend/semantic-graph/elements.hxx>
-
-namespace XSDFrontend
-{
- namespace SemanticGraph
- {
- namespace Fundamental
- {
- //
- //
- class Type: public virtual SemanticGraph::Type
- {
- protected:
- Type ();
- };
-dnl
-dnl Integers.
-dnl
-fundamental_type(`byte')
-fundamental_type(`unsigned byte')
-fundamental_type(`short')
-fundamental_type(`unsigned short')
-fundamental_type(`int')
-fundamental_type(`unsigned int')
-fundamental_type(`long')
-fundamental_type(`unsigned long')
-fundamental_type(`integer')
-fundamental_type(`non positive integer')
-fundamental_type(`non negative integer')
-fundamental_type(`positive integer')
-fundamental_type(`negative integer')
-dnl
-dnl Boolean.
-dnl
-fundamental_type(`boolean')
-dnl
-dnl Floats.
-dnl
-fundamental_type(`float')
-fundamental_type(`double')
-fundamental_type(`decimal')
-dnl
-dnl Strings.
-dnl
-fundamental_type(`string')
-fundamental_type(`normalized string')
-fundamental_type(`token')
-fundamental_type(`name')
-fundamental_type(`name token')
-fundamental_type(`name tokens')
-fundamental_type(`NC name')
-fundamental_type(`language')
-dnl
-dnl Qualified name.
-dnl
-fundamental_type(`q name')
-dnl
-dnl ID/IDREF.
-dnl
-fundamental_type(`id')
-
-
- //
- //
- class IdRef: public virtual Type,
- public virtual Specialization
- {
- public:
- IdRef (Path const& file,
- unsigned long line,
- unsigned long column);
- };
-
-
- //
- //
- class IdRefs: public virtual Type,
- public virtual Specialization
- {
- public:
- IdRefs (Path const& file,
- unsigned long line,
- unsigned long column);
- };
-dnl
-dnl URI.
-dnl
-fundamental_type(`any URI')
-dnl
-dnl Binary.
-dnl
-fundamental_type(`base 64 binary')
-fundamental_type(`hex binary')
-dnl
-dnl Date/time.
-dnl
-fundamental_type(`date')
-fundamental_type(`date time')
-fundamental_type(`duration')
-fundamental_type(`day')
-fundamental_type(`month')
-fundamental_type(`month day')
-fundamental_type(`year')
-fundamental_type(`year month')
-fundamental_type(`time')
-dnl
-dnl Entity.
-dnl
-fundamental_type(`entity')
-fundamental_type(`entities')
-dnl
-dnl Notation.
-dnl
-fundamental_type(`notation')
-dnl
- }
- }
-}
-
-#endif // XSD_FRONTEND_SEMANTIC_GRAPH_FUNDAMENTAL_HXX
diff --git a/xsd-frontend/semantic-graph/fundamental.m4 b/xsd-frontend/semantic-graph/fundamental.m4
deleted file mode 100644
index c92881d..0000000
--- a/xsd-frontend/semantic-graph/fundamental.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : xsd-frontend/semantic-graph/fundamental.m4
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-define(`upcase', `translit(`$*', `a-z', `A-Z')')
-
-
-define(`capitalize_word',
- `regexp(`$1', `^\(.\)\(.*\)', `upcase(`\1')`\2'')')
-
-
-define(`capitalize',
- `patsubst(`$1', `\w+', `capitalize_word(`\&')')')
-
-define(`make_class_name', `patsubst(capitalize(`$1'), ` ')')
-
-define(`make_var_name', `patsubst(`$1', ` ', `_')')
diff --git a/xsd-frontend/traversal.hxx b/xsd-frontend/traversal.hxx
deleted file mode 100644
index 545119d..0000000
--- a/xsd-frontend/traversal.hxx
+++ /dev/null
@@ -1,24 +0,0 @@
-// file : xsd-frontend/traversal.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_TRAVERSAL_HXX
-#define XSD_FRONTEND_TRAVERSAL_HXX
-
-#include <xsd-frontend/traversal/any.hxx>
-#include <xsd-frontend/traversal/any-attribute.hxx>
-#include <xsd-frontend/traversal/attribute.hxx>
-#include <xsd-frontend/traversal/attribute-group.hxx>
-#include <xsd-frontend/traversal/complex.hxx>
-#include <xsd-frontend/traversal/compositors.hxx>
-#include <xsd-frontend/traversal/element.hxx>
-#include <xsd-frontend/traversal/element-group.hxx>
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/traversal/enumeration.hxx>
-#include <xsd-frontend/traversal/fundamental.hxx>
-#include <xsd-frontend/traversal/list.hxx>
-#include <xsd-frontend/traversal/namespace.hxx>
-#include <xsd-frontend/traversal/particle.hxx>
-#include <xsd-frontend/traversal/schema.hxx>
-#include <xsd-frontend/traversal/union.hxx>
-
-#endif // XSD_FRONTEND_TRAVERSAL_HXX
diff --git a/xsd-frontend/traversal/any-attribute.hxx b/xsd-frontend/traversal/any-attribute.hxx
deleted file mode 100644
index 86bc965..0000000
--- a/xsd-frontend/traversal/any-attribute.hxx
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : xsd-frontend/traversal/any-attribute.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
-#define XSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
-
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/any-attribute.hxx>
-
-namespace XSDFrontend
-{
- namespace Traversal
- {
- typedef
- Node<SemanticGraph::AnyAttribute>
- AnyAttribute;
- }
-}
-
-#endif // XSD_FRONTEND_TRAVERSAL_ANY_ATTRIBUTE_HXX
diff --git a/xsd-frontend/traversal/any.hxx b/xsd-frontend/traversal/any.hxx
deleted file mode 100644
index cd14971..0000000
--- a/xsd-frontend/traversal/any.hxx
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : xsd-frontend/traversal/any.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_TRAVERSAL_ANY_HXX
-#define XSD_FRONTEND_TRAVERSAL_ANY_HXX
-
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/any.hxx>
-
-namespace XSDFrontend
-{
- namespace Traversal
- {
- typedef
- Node<SemanticGraph::Any>
- Any;
- }
-}
-
-#endif // XSD_FRONTEND_TRAVERSAL_ANY_HXX
diff --git a/xsd-frontend/traversal/attribute-group.hxx b/xsd-frontend/traversal/attribute-group.hxx
deleted file mode 100644
index f18856c..0000000
--- a/xsd-frontend/traversal/attribute-group.hxx
+++ /dev/null
@@ -1,28 +0,0 @@
-// file : xsd-frontend/traversal/attribute-group.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
-#define XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
-
-#include <xsd-frontend/traversal/elements.hxx>
-#include <xsd-frontend/semantic-graph/attribute-group.hxx>
-
-namespace XSDFrontend
-{
- namespace Traversal
- {
- struct AttributeGroup: ScopeTemplate<SemanticGraph::AttributeGroup>
- {
- virtual void
- traverse (Type&);
-
- virtual void
- pre (Type&);
-
- virtual void
- post (Type&);
- };
- }
-}
-
-#endif // XSD_FRONTEND_TRAVERSAL_ATTRIBUTE_GROUP_HXX
diff --git a/xsd-frontend/version.hxx b/xsd-frontend/version.hxx
deleted file mode 100644
index dfe35bc..0000000
--- a/xsd-frontend/version.hxx
+++ /dev/null
@@ -1,13 +0,0 @@
-// file : xsd-frontend/version.hxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_FRONTEND_VERSION_HXX
-#define XSD_FRONTEND_VERSION_HXX
-
-#include <xercesc/util/XercesVersion.hpp>
-
-#if _XERCES_VERSION < 30000
-# error Xerces-C++ 2-series is not supported
-#endif
-
-#endif // XSD_FRONTEND_VERSION_HXX