diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-12-15 22:23:46 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2021-02-25 13:39:56 +0300 |
commit | 949a9f572341b6cd07690f0b78b1b1941d320055 (patch) | |
tree | a4b9a32fb5a4cd6a46a17718cc854697df49c920 | |
parent | 061b59ec50c40e8757c5e9237f45a2c7ade36d62 (diff) |
Switch to build2
-rw-r--r-- | .gitattributes | 19 | ||||
-rw-r--r-- | .gitignore | 32 | ||||
-rw-r--r-- | INSTALL | 27 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | README-GIT | 5 | ||||
-rw-r--r-- | build/.gitignore | 3 | ||||
-rw-r--r-- | build/bootstrap.build | 10 | ||||
-rw-r--r-- | build/bootstrap.make | 48 | ||||
-rw-r--r-- | build/export.build | 9 | ||||
-rw-r--r-- | build/export/libxsd-frontend/stub.make | 8 | ||||
-rw-r--r-- | build/import/libcutl/configuration-rules.make | 13 | ||||
-rwxr-xr-x | build/import/libcutl/configure | 53 | ||||
-rw-r--r-- | build/import/libcutl/stub.make | 28 | ||||
-rw-r--r-- | build/import/libxerces-c/configuration-rules.make | 13 | ||||
-rwxr-xr-x | build/import/libxerces-c/configure | 71 | ||||
-rw-r--r-- | build/import/libxerces-c/rules.make | 50 | ||||
-rw-r--r-- | build/import/libxerces-c/stub.make | 30 | ||||
-rw-r--r-- | build/import/libxerces-c/version | 1 | ||||
-rw-r--r-- | build/import/libxsd-frontend/configuration-rules.make | 13 | ||||
-rwxr-xr-x | build/import/libxsd-frontend/configure | 53 | ||||
-rw-r--r-- | build/import/libxsd-frontend/stub.make | 28 | ||||
-rw-r--r-- | build/root.build | 17 | ||||
-rw-r--r-- | buildfile | 9 | ||||
-rw-r--r-- | libxsd-frontend/buildfile | 54 | ||||
-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.hxx | 25 | ||||
-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.cxx | 1096 | ||||
-rw-r--r-- | libxsd-frontend/semantic-graph/fundamental.hxx | 468 | ||||
-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.hxx | 24 | ||||
-rw-r--r-- | libxsd-frontend/traversal/any-attribute.hxx | 20 | ||||
-rw-r--r-- | libxsd-frontend/traversal/any.hxx | 20 | ||||
-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.hxx | 28 | ||||
-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.hxx | 0 | ||||
-rw-r--r-- | libxsd-frontend/version.hxx.in | 51 | ||||
-rw-r--r-- | libxsd-frontend/xml.hxx (renamed from xsd-frontend/xml.hxx) | 16 | ||||
-rw-r--r-- | makefile | 15 | ||||
-rw-r--r-- | manifest | 17 | ||||
-rw-r--r-- | repositories.manifest | 10 | ||||
-rw-r--r-- | tests/.gitignore | 3 | ||||
-rw-r--r-- | tests/build/.gitignore | 3 | ||||
-rw-r--r-- | tests/build/bootstrap.build | 8 | ||||
-rw-r--r-- | tests/build/root.build | 23 | ||||
-rw-r--r-- | tests/buildfile | 4 | ||||
-rw-r--r-- | tests/dump/makefile | 54 | ||||
-rw-r--r-- | tests/makefile | 15 | ||||
-rw-r--r-- | tests/schema/annotation.testscript | 298 | ||||
-rw-r--r-- | tests/schema/annotation/makefile | 33 | ||||
-rw-r--r-- | tests/schema/annotation/test-000.std | 67 | ||||
-rw-r--r-- | tests/schema/annotation/test-000.xsd | 120 | ||||
-rw-r--r-- | tests/schema/annotation/test-001.std | 36 | ||||
-rw-r--r-- | tests/schema/annotation/test-001.xsd | 53 | ||||
-rw-r--r-- | tests/schema/anonymous.testscript | 181 | ||||
-rw-r--r-- | tests/schema/anonymous/makefile | 33 | ||||
-rw-r--r-- | tests/schema/anonymous/test-000.std | 30 | ||||
-rw-r--r-- | tests/schema/anonymous/test-000.xsd | 42 | ||||
-rw-r--r-- | tests/schema/anonymous/test-001.std | 38 | ||||
-rw-r--r-- | tests/schema/anonymous/test-001.xsd | 47 | ||||
-rw-r--r-- | tests/schema/attribute-group.testscript | 102 | ||||
-rw-r--r-- | tests/schema/attribute-group/makefile | 33 | ||||
-rw-r--r-- | tests/schema/attribute-group/test-000.std | 17 | ||||
-rw-r--r-- | tests/schema/attribute-group/test-000.xsd | 31 | ||||
-rw-r--r-- | tests/schema/attribute-group/test-001.std | 12 | ||||
-rw-r--r-- | tests/schema/attribute-group/test-001.xsd | 20 | ||||
-rw-r--r-- | tests/schema/buildfile | 6 | ||||
-rw-r--r-- | tests/schema/default.testscript | 99 | ||||
-rw-r--r-- | tests/schema/default/makefile | 33 | ||||
-rw-r--r-- | tests/schema/default/test-000.std | 28 | ||||
-rw-r--r-- | tests/schema/default/test-000.xsd | 23 | ||||
-rw-r--r-- | tests/schema/default/test-001.std | 15 | ||||
-rw-r--r-- | tests/schema/default/test-001.xsd | 11 | ||||
-rw-r--r-- | tests/schema/driver.cxx (renamed from tests/dump/driver.cxx) | 20 | ||||
-rw-r--r-- | tests/schema/element-group.testscript | 324 | ||||
-rw-r--r-- | tests/schema/element-group/makefile | 33 | ||||
-rw-r--r-- | tests/schema/element-group/test-000.std | 33 | ||||
-rw-r--r-- | tests/schema/element-group/test-000.xsd | 39 | ||||
-rw-r--r-- | tests/schema/element-group/test-001.std | 137 | ||||
-rw-r--r-- | tests/schema/element-group/test-001.xsd | 33 | ||||
-rw-r--r-- | tests/schema/element-group/test-002.std | 24 | ||||
-rw-r--r-- | tests/schema/element-group/test-002.xsd | 26 | ||||
-rw-r--r-- | tests/schema/enumeration.testscript | 148 | ||||
-rw-r--r-- | tests/schema/enumeration/makefile | 33 | ||||
-rw-r--r-- | tests/schema/enumeration/test-000.std | 62 | ||||
-rw-r--r-- | tests/schema/enumeration/test-000.xsd | 72 | ||||
-rw-r--r-- | tests/schema/makefile | 23 | ||||
-rw-r--r-- | tests/schema/union.testscript | 135 | ||||
-rw-r--r-- | tests/schema/union/makefile | 33 | ||||
-rw-r--r-- | tests/schema/union/test-000.std | 37 | ||||
-rw-r--r-- | tests/schema/union/test-000.xsd | 40 | ||||
-rw-r--r-- | tests/schema/union/test-001.std | 15 | ||||
-rw-r--r-- | tests/schema/union/test-001.xsd | 21 | ||||
-rw-r--r-- | version | 1 | ||||
-rw-r--r-- | xsd-frontend/makefile | 116 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph.hxx | 25 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/fundamental.cxx.m4 | 209 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/fundamental.hxx.m4 | 153 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/fundamental.m4 | 16 | ||||
-rw-r--r-- | xsd-frontend/traversal.hxx | 24 | ||||
-rw-r--r-- | xsd-frontend/traversal/any-attribute.hxx | 20 | ||||
-rw-r--r-- | xsd-frontend/traversal/any.hxx | 20 | ||||
-rw-r--r-- | xsd-frontend/traversal/attribute-group.hxx | 28 | ||||
-rw-r--r-- | xsd-frontend/version.hxx | 13 |
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 @@ -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 @@ -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. @@ -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 |